sig   type 'a t   type 'a future = 'CCPool.Make.Fut.t   val return : '-> 'CCPool.Make.Fut.t   val fail : exn -> 'CCPool.Make.Fut.t   val make : (unit -> 'a) -> 'CCPool.Make.Fut.t   val make1 : ('-> 'b) -> '-> 'CCPool.Make.Fut.t   val make2 : ('-> '-> 'c) -> '-> '-> 'CCPool.Make.Fut.t   val get : 'CCPool.Make.Fut.t -> 'a   val state : 'CCPool.Make.Fut.t -> 'CCPool.state   val is_done : 'CCPool.Make.Fut.t -> bool   val on_success : 'CCPool.Make.Fut.t -> ('-> unit) -> unit   val on_failure : 'CCPool.Make.Fut.t -> (exn -> unit) -> unit   val on_finish : 'CCPool.Make.Fut.t -> ('CCPool.state -> unit) -> unit   val flat_map :     ('-> 'CCPool.Make.Fut.t) ->     'CCPool.Make.Fut.t -> 'CCPool.Make.Fut.t   val and_then :     'CCPool.Make.Fut.t ->     (unit -> 'CCPool.Make.Fut.t) -> 'CCPool.Make.Fut.t   val sequence_a : 'CCPool.Make.Fut.t array -> 'a array CCPool.Make.Fut.t   val map_a :     ('-> 'CCPool.Make.Fut.t) -> 'a array -> 'b array CCPool.Make.Fut.t   val sequence_l : 'CCPool.Make.Fut.t list -> 'a list CCPool.Make.Fut.t   val map_l :     ('-> 'CCPool.Make.Fut.t) -> 'a list -> 'b list CCPool.Make.Fut.t   val choose_a : 'CCPool.Make.Fut.t array -> 'CCPool.Make.Fut.t   val choose_l : 'CCPool.Make.Fut.t list -> 'CCPool.Make.Fut.t   val map : ('-> 'b) -> 'CCPool.Make.Fut.t -> 'CCPool.Make.Fut.t   val map_async : ('-> 'b) -> 'CCPool.Make.Fut.t -> 'CCPool.Make.Fut.t   val app :     ('-> 'b) CCPool.Make.Fut.t ->     'CCPool.Make.Fut.t -> 'CCPool.Make.Fut.t   val app_async :     ('-> 'b) CCPool.Make.Fut.t ->     'CCPool.Make.Fut.t -> 'CCPool.Make.Fut.t   val sleep : float -> unit CCPool.Make.Fut.t   module Infix :     sig       val ( >>= ) :         'CCPool.Make.Fut.t ->         ('-> 'CCPool.Make.Fut.t) -> 'CCPool.Make.Fut.t       val ( >> ) :         'CCPool.Make.Fut.t ->         (unit -> 'CCPool.Make.Fut.t) -> 'CCPool.Make.Fut.t       val ( >|= ) :         'CCPool.Make.Fut.t -> ('-> 'b) -> 'CCPool.Make.Fut.t       val ( <*> ) :         ('-> 'b) CCPool.Make.Fut.t ->         'CCPool.Make.Fut.t -> 'CCPool.Make.Fut.t     end   val ( >>= ) :     'CCPool.Make.Fut.t ->     ('-> 'CCPool.Make.Fut.t) -> 'CCPool.Make.Fut.t   val ( >> ) :     'CCPool.Make.Fut.t ->     (unit -> 'CCPool.Make.Fut.t) -> 'CCPool.Make.Fut.t   val ( >|= ) : 'CCPool.Make.Fut.t -> ('-> 'b) -> 'CCPool.Make.Fut.t   val ( <*> ) :     ('-> 'b) CCPool.Make.Fut.t ->     'CCPool.Make.Fut.t -> 'CCPool.Make.Fut.t end