fact: Definition EitherT_join {E M} `{Monad M} {X} (x : EitherT E M (EitherT E M X)) : EitherT E M X := join (fmap (fun y => match y with | Left e => pure (Left e) | Right mx' => mx' end) x).
imports: Hask.Prelude Hask.Control.Monad Hask.Control.Monad.Trans.Class Hask.Control.Monad.Morph