type t = private limiterval create_exn : now:Core_kernel.Time_ns.t -> burst_size:int -> sustained_rate_per_sec:float -> max_concurrent_jobs:int -> tval try_start_job : t -> now:Core_kernel.Time_ns.t -> [ `Start | `Max_concurrent_jobs_running | `Unable_until_at_least of Core_kernel.Time_ns.t ]val finish_job : t -> now:Core_kernel.Time_ns.t -> unit