sig
  val while_sequential :
    'a list ->
    f:('-> ('c, 'b) Pvem_lwt_unix.Deferred_result.t) ->
    ('c list, 'b) Pvem_lwt_unix.Deferred_result.t
  val for_sequential :
    'a list ->
    f:('-> ('c, 'b) Pvem_lwt_unix.Deferred_result.t) ->
    ('c list * 'b list, 'd) Pvem_lwt_unix.Deferred_result.t
  val for_concurrent :
    'a list ->
    f:('-> ('c, 'b) Pvem_lwt_unix.Deferred_result.t) ->
    ('c list * 'b list, 'd) Pvem_lwt_unix.Deferred_result.t
  val for_concurrent_with_index :
    'a list ->
    f:(int -> '-> ('c, 'b) Pvem_lwt_unix.Deferred_result.t) ->
    ('c list * 'b list, 'd) Pvem_lwt_unix.Deferred_result.t
  val pick_and_cancel :
    ('a, 'error) Pvem_lwt_unix.Deferred_result.t list ->
    ('a, 'error) Pvem_lwt_unix.Deferred_result.t
end