fact: Definition left_distributive (add : forall B, F B -> F B -> F B) := forall A B (m1 m2 : F A) (k : A -> F B), (add _ m1 m2) >>= k = add _ (m1 >>= k) (m2 >>= k).
imports: ssrmatching JMeq mathcomp(all_ssreflect) imonae_lib HB(structures)