h$      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHINone monad-coroutine7Type of functions capable of combining two coroutines' " values into a third one. Module "Monad.Coroutine.SuspensionFunctors contains several  examples.monad-coroutineType of functions that can weave two coroutines into a single coroutine.monad-coroutineType of functions that can bind two monadic values together, used to combine two coroutines' step results. The two functions provided here are  and .monad-coroutineThe  functor instance doesn't contain anything and cannot be constructed. Used for building non-suspendable coroutines.monad-coroutine+Suspending, resumable monadic computations.monad-coroutineRun the next step of a  computation. The result of the step execution will be either a suspension or the final coroutine result.monad-coroutineSuspend the current . monad-coroutineChange the base monad of a . monad-coroutine#Change the suspension functor of a . monad-coroutine*Modify the first upcoming suspension of a . monad-coroutineConvert a non-suspending  to the base monad. monad-coroutine$Runs a single step of a suspendable , using a function that extracts the coroutine resumption from its suspension functor.monad-coroutineRuns a suspendable  to its completion.monad-coroutineRuns a suspendable ) to its completion with a monadic action.monad-coroutine'Runs a suspendable coroutine much like , but allows the resumption function to thread an arbitrary state as well.monad-coroutineA  that runs the two steps sequentially before combining their results.monad-coroutineA % that runs the two steps in parallel.monad-coroutine Lifting a  onto a  monad transformer.monad-coroutine(Weaves two coroutines into one, given a . to run the next step of each coroutine and a & to combine the results of the steps.monad-coroutineWeaves a list of coroutines with the same suspension functor type into a single coroutine. The coroutines suspend and resume in lockstep.   None >? S monad-coroutine%Class of functors that can be lifted.monad-coroutineConvert the ancestor functor into its descendant. The descendant functor typically contains the ancestor. monad-coroutine3Class of functors that can contain another functor.#monad-coroutine=Type of functions capable of combining two child coroutines' 8 values into a parent coroutine. Use with the function .$monad-coroutineLike J for the K data type.%monad-coroutine*Change the suspension functor of a nested .&monad-coroutine Run a nested . that can suspend both itself and the current .'monad-coroutine3Converts a coroutine into a child nested coroutine.(monad-coroutine8Converts a coroutine into a descendant nested coroutine.  !"#$%&'( $%&# !"'(None,monad-coroutine Combines a 9 of a - with an 7 for a ../monad-coroutine2A part of the result with the reader of more input0monad-coroutineFinal result chunk2monad-coroutine;Final result chunk with the unconsumed portion of the input3monad-coroutine>A part of the result with the reader of more input and the EOF4monad-coroutine9Reader of more input, plus the result if there isn't any.5monad-coroutineThe 5 functor instance combines a 9 of a request with an 7 for a response.7monad-coroutineThe 7 functor instance is equivalent to (->) but more descriptive. A coroutine with this suspension functor demands a value whenever it suspends, before it can resume its execution.9monad-coroutineThe 9 functor instance is equivalent to (,) but more descriptive. A coroutine with this suspension functor provides a value with every suspension.;monad-coroutine/Suspend the current coroutine yielding a value.<monad-coroutine8Suspend the current coroutine until a value is provided.=monad-coroutine5Suspend yielding a request and awaiting the response.>monad-coroutineSuspend yielding a , and awaiting the ..?monad-coroutineConverts a coroutine yielding collections of values into one yielding single values.@monad-coroutineConverts a coroutine awaiting single values into one awaiting collections of values.Amonad-coroutineWeaves the suspensions of a 9 and an 7! coroutine together into a plain L coroutine. If the 9! coroutine terminates first, the 71 one is resumed using the argument default value.Bmonad-coroutineLike A , except the 7 coroutine expects M-wrapped values. After the 9 coroutine terminates, the 7 coroutine receives only N.Cmonad-coroutineWeaves two complementary 5( coroutine suspensions into a coroutine ;ing both requests. If one coroutine terminates before the other, the remaining coroutine is fed the appropriate default value argument.Dmonad-coroutine.The consumer coroutine requests input through , and gets . in response. The producer coroutine receives the unconsumed portion of its last requested chunk as response.Emonad-coroutineLike D but for nested coroutines.$,-./0123456789:;<=>?@ABCDE9:7856,./0-1234$;<=>?@ABCDE       !"#$%&'()*+,-./012345678899::;<=>?@ABCDEFGHIJKLJMNJOPJQRJQS-monad-coroutine-0.9.1.2-IAnouxtt6UZTQvPcsBX24Control.Monad.CoroutineControl.Monad.Coroutine.Nested*Control.Monad.Coroutine.SuspensionFunctors WeaveStepperWeaver PairBinderNaughtCoroutineStepResult CoroutineresumesuspendmapMonad mapSuspensionmapFirstSuspension runCoroutinebounce pogoStick pogoStickMfoldRunsequentialBinderparallelBinder liftBinderweavemerge$fMonadIOCoroutine$fMonadTransCoroutine$fMonadParallelCoroutine$fMonadFailCoroutine$fMonadCoroutine$fApplicativeCoroutine$fFunctorCoroutine$fFunctorNaughtAncestorFunctor liftFunctor ChildFunctorParentwrapNestWeaveStepper eitherFunctormapNestedSuspensionpogoStickNested liftParent liftAncestor$fChildFunctorSum$fAncestorFunctorad$fAncestorFunctoraa ReadRequestReader ReadingResult ResultPart FinalResultReadingFinalAdvanceDeferredRequestAwaitYieldyieldawaitrequest requestRead concatYields concatAwaitsweaveAwaitYieldweaveAwaitMaybeYield weaveRequestsweaveReadWriteRequestsweaveNestedReadWriteRequests$fFunctorYield$fFunctorAwait$fFunctorRequest$fFunctorReadRequestbase Data.EithereitherData.Functor.SumSumData.Functor.IdentityIdentity GHC.MaybeMaybeNothing