sig type t val create : ?max_threads:int -> unit -> Thread_pool.t val add_work : ('a -> 'b) -> 'a -> Thread_pool.t -> unit val shutdown : Thread_pool.t -> unit end