sig
  type ('a, 'e) t
  val ( >>= ) :
    ('a, 'e) Monad_intf.Infix2.t ->
    ('a -> ('b, 'e) Monad_intf.Infix2.t) -> ('b, 'e) Monad_intf.Infix2.t
  val ( >>| ) :
    ('a, 'e) Monad_intf.Infix2.t ->
    ('a -> 'b) -> ('b, 'e) Monad_intf.Infix2.t
end