Control.Monad.Either
data EitherT a m b