sig
  type 'a monad
  type 'a t
  val foldi :
    'Deferred_intf.Monad_sequence.t ->
    init:'->
    f:(int -> '-> '-> 'Deferred_intf.Monad_sequence.monad) ->
    'Deferred_intf.Monad_sequence.monad
  val fold :
    'Deferred_intf.Monad_sequence.t ->
    init:'->
    f:('-> '-> 'Deferred_intf.Monad_sequence.monad) ->
    'Deferred_intf.Monad_sequence.monad
  val init :
    ?how:Deferred_intf.how ->
    int ->
    f:(int -> 'Deferred_intf.Monad_sequence.monad) ->
    'Deferred_intf.Monad_sequence.t Deferred_intf.Monad_sequence.monad
  val iter :
    ?how:Deferred_intf.how ->
    'Deferred_intf.Monad_sequence.t ->
    f:('-> unit Deferred_intf.Monad_sequence.monad) ->
    unit Deferred_intf.Monad_sequence.monad
  val iteri :
    ?how:Deferred_intf.how ->
    'Deferred_intf.Monad_sequence.t ->
    f:(int -> '-> unit Deferred_intf.Monad_sequence.monad) ->
    unit Deferred_intf.Monad_sequence.monad
  val map :
    ?how:Deferred_intf.how ->
    'Deferred_intf.Monad_sequence.t ->
    f:('-> 'Deferred_intf.Monad_sequence.monad) ->
    'Deferred_intf.Monad_sequence.t Deferred_intf.Monad_sequence.monad
  val filter :
    ?how:Deferred_intf.how ->
    'Deferred_intf.Monad_sequence.t ->
    f:('-> bool Deferred_intf.Monad_sequence.monad) ->
    'Deferred_intf.Monad_sequence.t Deferred_intf.Monad_sequence.monad
  val filter_map :
    ?how:Deferred_intf.how ->
    'Deferred_intf.Monad_sequence.t ->
    f:('-> 'b option Deferred_intf.Monad_sequence.monad) ->
    'Deferred_intf.Monad_sequence.t Deferred_intf.Monad_sequence.monad
  val all :
    'Deferred_intf.Monad_sequence.monad Deferred_intf.Monad_sequence.t ->
    'Deferred_intf.Monad_sequence.t Deferred_intf.Monad_sequence.monad
  val all_unit :
    unit Deferred_intf.Monad_sequence.monad Deferred_intf.Monad_sequence.t ->
    unit Deferred_intf.Monad_sequence.monad
end