proposition: Lemma Kleisli_precat_monad_is_precat {C : category} (T : Monad C) : is_precategory (Kleisli_precat_data_monad T).
proof: Proof. apply is_precategory_one_assoc_to_two. split. - split. + intros a b f. unfold identity; unfold compose; cbn. apply η_bind. + intros a b f. unfold identity; unfold compose; cbn. rewrite <- id_right. apply cancel_precomposition. apply bind_η. - intros a b c d f g h. unfold compose; cbn. rewrite <- bind_bind. apply assoc. Defined.
imports: UniMath.Foundations.All UniMath.MoreFoundations.All UniMath.CategoryTheory.Core.Categories UniMath.CategoryTheory.Core.Functors UniMath.CategoryTheory.Core.NaturalTransformations UniMath.CategoryTheory.Core.Isos UniMath.CategoryTheory.Adjunctions.Core UniMath.CategoryTheory.Monads.Monads UniMath.CategoryTheory.whiskering