Fixpoint lm_to_ml {A:Type} (lm:list (monad A)) : monad (list A):=
match lm with
| [] => Mreturn []
| m::ms => m >>::(lm_to_ml ms)
end.

Lemma all_mono_lm_to_ml_mono {A:Type} (lm: list (monad A)):
Forall Mmono lm → Mmono (lm_to_ml lm).