sig   type 'a state = Done of '| Waiting | Failed of exn   module type PARAM = sig val min_size : int val max_size : int end   exception Stopped   module Make :     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 end