Section BasicFacts.
Context {m : Type -> Type}.
Context {EqM : EqM m}.
Context {Mm : Monad m}.
Context {EqMP : @EqMProps m _ EqM}.
Context {ML : @MonadLaws m EqM Mm}.
Instance Proper_Kleisli_apply {a b} :
Proper (eq2 ==> eq ==> eqm) (@Kleisli_apply m a b).

Lemma fold_Kleisli {a b} (f : Kleisli m a b) (x : a) : f x = Kleisli_apply f x.