Module Async.Std.Deferred

module Deferred: sig .. end

type 'a t 
val both : 'a t ->
'b t -> ('a * 'b) t
both t1 t2 becomes determined after both t1 and t2 become determined.
val all : 'a t list -> 'a list t
all ts returns a deferred that becomes determined when every t in ts is determined. The output is in the same order as the input.
val any : 'a t list -> 'a t
any ts returns a deferred that is fulfilled when any of the underlying deferreds is fulfilled
module List: sig .. end