Lemma mlift_mlift {c d e : C} (f : c --> d) (g : d --> e) : mlift M f · mlift M g = mlift M (f · g). Proof. unfold mlift at 2. etrans. { apply (mlift_mbind X). } unfold mlift. apply maponpaths. etrans. { apply assoc. } apply maponpaths_2. apply pathsinv0, functor_comp. Qed.
Require Import UniMath.Foundations.All. Require Import UniMath.MoreFoundations.All. Require Import UniMath.CategoryTheory.Core.Categories. Require Import UniMath.CategoryTheory.Core.Functors. Require Import UniMath.CategoryTheory.Core.NaturalTransformations. Require Import UniMath.CategoryTheory.Monads.RelativeMonads.