This package provides utilities for converting between computations
parameterized via two different typeclasses MonadIO and MonadBase, both of
which can be used to abstract over monad transformer stacks with IO at the
base. Unfortunately, both classes are frequently used in the Haskell
ecosystem, since they have minor differences.
Due to these typeclasses being unrelated, it’s not entirely uncommon to end up
with type signatures like (MonadIO m, MonadBaseControl IO m) => ...,
which are a little silly, since MonadBaseControl IO really includes all
the power of MonadIO.
To help alleviate this problem, this package provides a set of utilities for
converting between the two constraints in situations where possible.