sig
  val iter_s : ('-> unit Lwt.t) -> 'a list -> unit Lwt.t
  val iter_p : ('-> unit Lwt.t) -> 'a list -> unit Lwt.t
  val iteri_s : (int -> '-> unit Lwt.t) -> 'a list -> unit Lwt.t
  val iteri_p : (int -> '-> unit Lwt.t) -> 'a list -> unit Lwt.t
  val map_s : ('-> 'Lwt.t) -> 'a list -> 'b list Lwt.t
  val map_p : ('-> 'Lwt.t) -> 'a list -> 'b list Lwt.t
  val mapi_s : (int -> '-> 'Lwt.t) -> 'a list -> 'b list Lwt.t
  val mapi_p : (int -> '-> 'Lwt.t) -> 'a list -> 'b list Lwt.t
  val rev_map_s : ('-> 'Lwt.t) -> 'a list -> 'b list Lwt.t
  val rev_map_p : ('-> 'Lwt.t) -> 'a list -> 'b list Lwt.t
  val fold_left_s : ('-> '-> 'Lwt.t) -> '-> 'b list -> 'Lwt.t
  val fold_right_s : ('-> '-> 'Lwt.t) -> 'a list -> '-> 'Lwt.t
  val for_all_s : ('-> bool Lwt.t) -> 'a list -> bool Lwt.t
  val for_all_p : ('-> bool Lwt.t) -> 'a list -> bool Lwt.t
  val exists_s : ('-> bool Lwt.t) -> 'a list -> bool Lwt.t
  val exists_p : ('-> bool Lwt.t) -> 'a list -> bool Lwt.t
  val find_s : ('-> bool Lwt.t) -> 'a list -> 'Lwt.t
  val filter_s : ('-> bool Lwt.t) -> 'a list -> 'a list Lwt.t
  val filter_p : ('-> bool Lwt.t) -> 'a list -> 'a list Lwt.t
  val partition_s :
    ('-> bool Lwt.t) -> 'a list -> ('a list * 'a list) Lwt.t
  val partition_p :
    ('-> bool Lwt.t) -> 'a list -> ('a list * 'a list) Lwt.t
end