fact: Definition right_distributive (add : forall B, F B -> F B -> F B) := forall A B (m : F A) (k1 k2 : A -> F B), m >>= (fun x => add _ (k1 x) (k2 x)) = add _ (m >>= k1) (m >>= k2).
imports: ssrmatching JMeq mathcomp(all_ssreflect) imonae_lib HB(structures)