LLHA;      !"#$%&'()*+,-./0123456789:NoneHM7Type 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. ;<=>?@A    ;<=>?@ANone 2346=HKM %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 B for the C 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. DEF    DEFNone:HM! Combines a . of a " with an , for a #.$Final result chunk%2A part of the result with the reader of more input'9Reader of more input, plus the result if there isn't any.(>A part of the result with the reader of more input and the EOF);Final result chunk with the unconsumed portion of the input*The * functor instance combines a . of a request with an , for a response.,The , 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..The . functor instance is equivalent to (,) but more descriptive. A coroutine with this suspension functor provides a value with every suspension.0/Suspend the current coroutine yielding a value.18Suspend the current coroutine until a value is provided.25Suspend yielding a request and awaiting the response.3Suspend yielding a ! and awaiting the #.4TConverts a coroutine yielding collections of values into one yielding single values.5TConverts a coroutine awaiting single values into one awaiting collections of values.6Weaves the suspensions of a . and an ,! coroutine together into a plain G coroutine. If the .! coroutine terminates first, the ,1 one is resumed using the argument default value.7Like 6 , except the , coroutine expects H-wrapped values. After the . coroutine terminates, the , coroutine receives only I.8Weaves two complementary *( coroutine suspensions into a coroutine 0ing both requests. If one coroutine terminates before the other, the remaining coroutine is fed the appropriate default value argument.9.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.:Like 9 but for nested coroutines.!J"#$%&'()*+,-./0123456789:KLMN!"#$%&'()*+,-./0123456789:./,-*+!#%$"&)('0123456789:!J"#%$&)('*+,-./0123456789:KLMNO       !"#$%&'()*+,--..//0123456789:;<=>?@ABCDEFGHIJEKLBMNBMO$PQRSTmonad-coroutine-0.9Control.Monad.CoroutineControl.Monad.Coroutine.Nested*Control.Monad.Coroutine.SuspensionFunctors WeaveStepperWeaver PairBinderNaughtCoroutineStepResult CoroutineresumesuspendmapMonad mapSuspensionmapFirstSuspension runCoroutinebounce pogoStick pogoStickMfoldRunsequentialBinderparallelBinder liftBinderweavemergeAncestorFunctor liftFunctor ChildFunctorParentwrapNestWeaveStepper eitherFunctormapNestedSuspensionpogoStickNested liftParent liftAncestor ReadRequestReader ReadingResult FinalResult ResultPartReadingDeferredAdvanceFinalRequestAwaitYieldyieldawaitrequest requestRead concatYields concatAwaitsweaveAwaitYieldweaveAwaitMaybeYield weaveRequestsweaveReadWriteRequestsweaveNestedReadWriteRequests$fFunctorNaught$fMonadIOCoroutine$fMonadTransCoroutine$fMonadParallelCoroutine$fMonadCoroutine$fApplicativeCoroutine$fFunctorCoroutinebase Data.Eithereithertransformers-0.4.2.0Data.Functor.SumSum$fAncestorFunctorad$fAncestorFunctoraa$fChildFunctorSumData.Functor.IdentityIdentity Data.MaybeMaybeNothing$fFunctorReadRequest$fFunctorRequest$fFunctorAwait$fFunctorYield