sig
  val ( >>= ) : 'a SimplM.t -> ('a -> 'b SimplM.t) -> 'b SimplM.t
  val ( >|= ) : 'a SimplM.t -> ('a -> 'b) -> 'b SimplM.t
end