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