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