Safe Haskell | Safe-Inferred |
---|

# Documentation

class Monad m => MonadWrapIO m a r | m a -> r whereSource

MonadWrapIO is analogous to `MonadWrap`

, but where the wrapping
function is always of type

. The point of
`IO`

r -> `IO`

r`MonadWrapIO`

is to go through as many nested monad transformers as
necessary to reach the `IO`

monad, so you don't have to keep track
of where you are in terms of monad nesting depth.

MonadWrapIO IO a a | |

(Monad m, MonadTrans t, Monad (t m), MonadWrapIO m ar r, MonadWrap t a ar) => MonadWrapIO (t m) a r |