functor (P : PARAM->   sig     val run : (unit -> 'a) -> unit     val run1 : ('-> 'b) -> '-> unit     val run2 : ('-> '-> 'c) -> '-> '-> unit     val run3 : ('-> '-> '-> 'd) -> '-> '-> '-> unit     val set_exn_handler : (exn -> unit) -> unit     val active : unit -> bool     val stop : unit -> unit     module Fut :       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   end