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 lm_to_ml_length {A:Type} (lm: list (monad A))  st:
length (snd (lm_to_ml lm st)) = length lm.