fact: Definition EndoMonad_Monad `(H : EndoFunctor F) `(A : @Functor.Applicative.Applicative _ _ (FromAFunctor H)) `(M : @Theory.Monad.Monad _ (FromAFunctor H)) : Monad F := {| ret := @Pure.pure _ _ (FromAFunctor H) _ A; bind := λ x y m f, @Theory.Monad.join _ _ M y (@Theory.Functor.fmap _ _ (FromAFunctor H) x (F y) f m); |}.
imports: Category.Lib Category.Theory.Category Category.Theory.Monad Category.Theory.Functor Category.Functor.Applicative Category.Monad.Distributive Category.Monad.Compose Category.Functor.Structure.Monoidal.Pure Category.Instance.Coq Category.Theory.Coq.Applicative.Proofs Category.Theory.Coq.Monad