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