úÎ)9%°     ?Interface to transform nested monadic data types. The provided  | function trans0 is supposed to map the given function on every # | monadic argument. The result of trans may be of the same type @ | as the argument but can also be of a different type, e.g. to D | convert a value with nested monadic arguments to a corresponding  | value without. 3Interface of monads that support explicit sharing. <Yields an action that returns the same results as the given @ | action but whose effects are only executed once. Especially, ? | when the resulting action is duplicated it returns the same  | result at every occurrence. >Lifts all monadic effects in nested monadic values to the top  | level. If m3 is a monad for non-determinism and the argument a > | data structure with nested non-determinism then the result 3 | corresponds to the normal form of the argument. ;An instance for lists with monadic elements that lifts all ; | monadic effects to the top level and yields a list with  | non-monadic elements. -An instance for lists with monadic elements.  =Continuation-based, store-passing implementation of explicit ( | sharing. It is an inlined version of ContT (ReaderT Store m) : | where the result type of continuations is polymorphic. Runs a computation of type Lazy m a with given continuation  | and store. ALifts all monadic effects to the top-level and unwraps the monad % | transformer for explicit sharing.  >Data type for lists where both the head and tail are monadic.  The empty monadic list. %Constructs a non-empty monadic list. !Checks if monadic list is empty. -Yields the head of a monadic list. Relies on  MonadPlus instance * | to provide a failing implementation of fail. -Yields the tail of a monadic list. Relies on  MonadPlus instance * | to provide a failing implementation of fail. #This instance enables the function Control.Monad.Sharing.eval B | to transform ordinary Haskell lists into nested monadic lists. #This instance enables the function Control.Monad.Sharing.eval B | to transform nested monadic lists into ordinary Haskell lists. @This instance allows to use nested monadic lists as argument to  | the Control.Monad.Sharing.share combinator.      . !"#$%&'()*+,-./0123456789:;<=>?@ABCDE       !" !# !$ !% !& !' () (* (+ (, (- (. (/ (0 (1 (2 (3 (4 (5 (6 (7 (8 (9 (: (; (< (= (> (? (@ (A (B (C (D (E (F (G (H !IJexplicit-sharing-0.4.0Control.Monad.Sharing.ClassesControl.Monad.SharingData.Monadic.List(Control.Monad.Sharing.Implementation.CPSTranstransSharingshareevalLazyevalLazyListConsNilnilconsisEmptyfirstrest $fTransm[][] $fTransm[][]0UntypedStorefromLazyrunLazylazymemotyped$fTransm[]List$fTransmList[]$fTransmListListbaseGHC.Basefail>>=>>returnMonadFunctor Control.Monad MonadPlusapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzerofmap