sig
  type 'a t
  val create :
    int ->
    ?check:('-> (bool -> unit) -> unit) ->
    (unit -> 'Lwt.t) -> 'Lwt_pool.t
  val use : 'Lwt_pool.t -> ('-> 'Lwt.t) -> 'Lwt.t
end