Definition Mbind {A B:Type} (m:monad A) f :=
  (λ st, let (st',x) := Meval m st in
         let m' := f x in Meval m' st'):monad B.Infix ">>=" := Mbind (at level 15, left associativity) : monad_scope.

Lemma mono_mono_Mbind_mono {A B:Type} (ma:monad A) (f:A → monad B): Mmono ma → Mmono_one f → Mmono (ma >>= f).