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