val create : ('b ‑> 'b ‑> int) ‑> ('a, 'b) tval length : (_, _) t ‑> intval enqueue : ('a, 'b) t ‑> priority:'b ‑> 'a ‑> unitval dequeue : ('a, 'b) t ‑> 'a Async.Deferred.tval iter_and_clear : ('a, 'b) t ‑> f:('a ‑> unit) ‑> unitval clear : ('a, 'b) t ‑> unit