sig
  type ('a, 'b) t
  val create : ('-> 'Deferred.t) -> ('a, 'b) Throttle.Job.t
  val result : ('a, 'b) Throttle.Job.t -> 'Throttle.outcome Deferred.t
end