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