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.
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.