module Deferred:sig..end
type 'a t
val both : 'a t ->
'b t -> ('a * 'b) tboth t1 t2 becomes determined after both t1 and t2 become determined.val all : 'a t list -> 'a list tall 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 tany ts returns a deferred that is fulfilled when any of the underlying
deferreds is fulfilledmodule List:sig..end