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 lt_le_Mbind_lt {A B:Type} (ma:monad A) (f:A → monad B): Mlt ma → (∀ a, Mle (f a)) → Mlt (ma >>= f).