fact: Definition fromLogicT (M : Type -> Type) `{Monad M} (A : Type) (l : LogicT M A) : LogicT' M A := match l with LogicT_ _ await => LogicT_' M A (fun yield => await (compose (join[M]) \o (@fmap M _ _ _) \o yield) \o pure) end.
imports: Hask.Prelude Hask.Control.Monad