úÎ!:44`R      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQSafe &';=>?QV9 fraxl,The "free monad" for an applicative functor f. fraxl8The "free monad transformer" for an applicative functor ffraxl"The base functor for a free monad.fraxl3Tear down a free monad transformer using iteration.fraxlFTear down a free monad transformer using iteration over a transformer.fraxlLift a monad homomorphism from m to n into a monad homomorphism from   f m to   f n  :: (R m, S f) => (m ~> n) ->   f m ~>   f nfraxl#Lift a natural transformation from f to g into a monad homomorphism from   f m to   g mfraxlPull out and join m layers of   f m a.fraxl<Tear down a free monad transformer using Monad instance for t m.fraxl is the left inverse of   .  = T fraxl Tear down a   R using iteration.fraxlLike  for monadic values.  None&',-;<=>?FNQSTV0,*fraxlUnion/ represents a value of any type constructor in r applied with a..fraxl&Caching in Fraxl works by translating FreerT f into FreerT (CachedFetch f), then running with  CachedFetch'&s DataSource. That instance requires f to to have a U instance.The . instance uses a V4 to track cached requests. The state variable is a W from the 'dependent-map'- package. Keys are requests, and values are Xs of the results.0fraxlA data source is an effect f that operates in some monad m:. Given a sequence of effects, a data source should use m0 to prepare a corresponding sequence of results.1fraxlFraxl is just the 2! monad transformer, applied with *. This is because 15 is just a free monad over a variety of data sources.2fraxl‚Fraxl is based on a particular Freer monad. This Freer monad has applicative optimization, which is used to parallelize effects.3fraxl:Fetch empty union. Only necessary to terminate a list of 0 functions for Fetch (Union r)4fraxlLike '(:)' for constructing Fetch (Union (f ': r))5fraxlHoist a 0( function into a different result monad.6fraxl Translate a 0 function from f requests, to g requests.7fraxl(Runs a Fraxl computation, using a given 0 function for f. This takes 2 as a parameter rather than 1 , because 1W is meant for a union of effects, but it should be possible to run a singleton effect.8fraxlA simple method of turning an Y& bound computation into a concurrent 0.:fraxlvRuns a Fraxl computation with caching using a given starting cache. Alongside the result, it returns the final cache.;fraxlLike :E, except it starts with an empty cache and discards the final cache.ZfraxlHandle a single variant of a [D: either the function is applied to the variant or the type of the [5 is refined to reflect the fact that the variant is not2 compatible with the type of the would-be handler)\]U^_`abcdefghi *+,-./0123456789:;<210783456 ./9:;*+<,-45None 7;=>?FST32CfraxlClass for Fraxl-capable monads.DfraxlD# is used to make a request of type f.CDCDNone3x$\]U^_`abcdefghi ./01234789:;CD2107834 ./9:;CDj         !"#$%&'()*+,-./0011223456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWUVXUVYZ[\]^_`abUcdefghijkUlmUlnZ[oZ[pZ[qZ[rZ[sZ[tZ[uZ[vZ[wZ[xZ[yZ[z{$fraxl-0.2.0.0-9K81JEJkQOo1ltFPf2sJteControl.Monad.Trans.Fraxl.FreeControl.Monad.Trans.FraxlControl.Monad.Fraxl.ClassControl.Monad.Fraxlfree-5.1-5DqT5y8WzG7CmjGqAVwxRBControl.Monad.Free.ClassliftFwrap MonadFreeControl.Applicative.Free.Fast rebaseASeq traverseASeq hoistASeq reduceASeqAConsANilASeqFreeFreeTrunFreeTFreeFPureiterTiterTM hoistFreeT transFreeT joinFreeTretractTretractiteriterM$fMonadCatchFreeT$fMonadThrowFreeT$fMonadPlusFreeT$fAlternativeFreeT$fMonadContFreeT$fMonadErroreFreeT$fMonadStatesFreeT$fMonadWriterwFreeT$fMonadReaderrFreeT$fMonadIOFreeT$fMonadFreefFreeT$fMonadTransFreeT $fMonadFreeT$fApplicativeFreeT$fFunctorFreeT$fFunctorFreeFUnionFlap CachedFetchFetchFraxlFreerTfetchNil|:| hoistFetch transFetchrunFraxlsimpleAsyncFetch fetchCachedrunCachedFraxlevalCachedFraxl unconsCoRec $fFMatch1at:S $fFMatch1at:Z$fGComparekUnion$fGComparekUnion0 $fGEqkUnion $fGEqkUnion0 MonadFraxl dataFetch$fMonadFraxlfWriterT$fMonadFraxlfWriterT0$fMonadFraxlfStateT$fMonadFraxlfStateT0$fMonadFraxlfRWST$fMonadFraxlfRWST0$fMonadFraxlfReaderT$fMonadFraxlfMaybeT$fMonadFraxlfIdentityT$fMonadFraxlfExceptT$fMonadFraxlfContT$fMonadFraxlfFreeT$fMonadFraxlfFreeT0baseGHC.BaseMonadFunctorid(dependent-sum-0.4-ESzBCmWuzT666wC2c8vlGGData.GADT.CompareGCompare mtl-2.2.2Control.Monad.State.Class MonadState,dependent-map-0.2.4.0-36plefsUT9CAuAXklyMbr5Data.Dependent.Map.InternalDMapGHC.MVarMVarghc-prim GHC.TypesIOfmatch1$vinyl-0.8.1.1-8MM4Vx4ZmdMBTEoJGjdhzpData.Vinyl.CoRecCoRecData.Type.Equality:~:Reflgcompare GOrderingGGTGEQGLTdefaultCompareweakenOrdering defaultNeq defaultEq:=GEqgeq