yield package:monad-coroutine

Suspend the current coroutine yielding a value.
The Yield functor instance is equivalent to (,) but more descriptive. A coroutine with this suspension functor provides a value with every suspension.
Converts a coroutine yielding collections of values into one yielding single values.
Like weaveAwaitYield, except the Await coroutine expects Maybe-wrapped values. After the Yield coroutine terminates, the Await coroutine receives only Nothing.
Weaves the suspensions of a Yield and an Await coroutine together into a plain Identity coroutine. If the Yield coroutine terminates first, the Await one is resumed using the argument default value.