M-I"I      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHNoneOT7Type of functions capable of combining two coroutines' " values into a third one. Module "Monad.Coroutine.SuspensionFunctors contains several  examples.HType of functions that can weave two coroutines into a single coroutine.Type of functions that can bind two monadic values together, used to combine two coroutines' step results. The two functions provided here are  and .The t functor instance doesn't contain anything and cannot be constructed. Used for building non-suspendable coroutines.+Suspending, resumable monadic computations.Run the next step of a j computation. The result of the step execution will be either a suspension or the final coroutine result.Suspend the current . Change the base monad of a . #Change the suspension functor of a . *Modify the first upcoming suspension of a . Convert a non-suspending  to the base monad. $Runs a single step of a suspendable W, using a function that extracts the coroutine resumption from its suspension functor.Runs a suspendable  to its completion.Runs a suspendable ) to its completion with a monadic action.'Runs a suspendable coroutine much like K, but allows the resumption function to thread an arbitrary state as well.A E that runs the two steps sequentially before combining their results.A % that runs the two steps in parallel. Lifting a  onto a  monad transformer.(Weaves two coroutines into one, given a . to run the next step of each coroutine and a & to combine the results of the steps.Weaves a list of coroutines with the same suspension functor type into a single coroutine. The coroutines suspend and resume in lockstep.     None9:;<=DORT %Class of functors that can be lifted.iConvert the ancestor functor into its descendant. The descendant functor typically contains the ancestor.3Class of functors that can contain another functor."=Type of functions capable of combining two child coroutines' 8 values into a parent coroutine. Use with the function .#Like I for the J data type.$*Change the suspension functor of a nested .% Run a nested . that can suspend both itself and the current .&3Converts a coroutine into a child nested coroutine.'8Converts a coroutine into a descendant nested coroutine. !"#$%&'()*  !"#$%&' #$%" !&'  !"#$%&'()*NoneAOT+ Combines a 8 of a , with an 6 for a -..2A part of the result with the reader of more input/Final result chunk1;Final result chunk with the unconsumed portion of the input2>A part of the result with the reader of more input and the EOF39Reader of more input, plus the result if there isn't any.4The 4 functor instance combines a 8 of a request with an 6 for a response.6The 6 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.8The 8 functor instance is equivalent to (,) but more descriptive. A coroutine with this suspension functor provides a value with every suspension.:/Suspend the current coroutine yielding a value.;8Suspend the current coroutine until a value is provided.<5Suspend yielding a request and awaiting the response.=Suspend yielding a + and awaiting the -.>TConverts a coroutine yielding collections of values into one yielding single values.?TConverts a coroutine awaiting single values into one awaiting collections of values.@Weaves the suspensions of a 8 and an 6! coroutine together into a plain K coroutine. If the 8! coroutine terminates first, the 61 one is resumed using the argument default value.ALike @ , except the 6 coroutine expects L-wrapped values. After the 8 coroutine terminates, the 6 coroutine receives only M.BWeaves two complementary 4( 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.C.The consumer coroutine requests input through + and gets -n in response. The producer coroutine receives the unconsumed portion of its last requested chunk as response.DLike C but for nested coroutines.+N,-./0123456789:;<=>?@ABCDEFGH#+,-./0123456789:;<=>?@ABCD896745+-./,0123#:;<=>?@ABCD+N,-./0123456789:;<=>?@ABCDEFGHO       !"#$%&'()*+,-./0123456778899:;<=>?@ABCDEFGHIJKILMINOIPQIPR.S.monad-coroutine-0.9.0.3-APymFjyliAJI155ukxVU18Control.Monad.CoroutineControl.Monad.Coroutine.Nested*Control.Monad.Coroutine.SuspensionFunctors WeaveStepperWeaver PairBinderNaughtCoroutineStepResult CoroutineresumesuspendmapMonad mapSuspensionmapFirstSuspension runCoroutinebounce pogoStick pogoStickMfoldRunsequentialBinderparallelBinder liftBinderweavemerge$fFunctorNaught$fMonadIOCoroutine$fMonadTransCoroutine$fMonadParallelCoroutine$fMonadCoroutine$fApplicativeCoroutine$fFunctorCoroutineAncestorFunctor liftFunctor ChildFunctorParentwrapNestWeaveStepper eitherFunctormapNestedSuspensionpogoStickNested liftParent liftAncestor$fAncestorFunctorad$fAncestorFunctoraa$fChildFunctorSum ReadRequestReader ReadingResult ResultPart FinalResultReadingFinalAdvanceDeferredRequestAwaitYieldyieldawaitrequest requestRead concatYields concatAwaitsweaveAwaitYieldweaveAwaitMaybeYield weaveRequestsweaveReadWriteRequestsweaveNestedReadWriteRequests$fFunctorReadRequest$fFunctorRequest$fFunctorAwait$fFunctorYieldbase Data.EithereitherData.Functor.SumSumData.Functor.IdentityIdentityGHC.BaseMaybeNothing