module Key : sig ... end
val sexp_of_t : ('a ‑> Sexplib.Sexp.t) ‑> 'a t ‑> Sexplib.Sexp.t
val length : 'a t ‑> int
val is_empty : 'a t ‑> bool
val iter : 'a t ‑> f:('a ‑> unit) ‑> unit
val fold : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a ‑> 'accum) ‑> 'accum
val fold_result : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a ‑> ('accum, 'e) Base.Result.t) ‑> ('accum, 'e) Base.Result.t
val fold_until : 'a t ‑> init:'accum ‑> f:('accum ‑> 'a ‑> ('accum, 'stop) Base.Container_intf.Continue_or_stop.t) ‑> ('accum, 'stop) Base.Container_intf.Finished_or_stopped_early.t
val exists : 'a t ‑> f:('a ‑> bool) ‑> bool
val for_all : 'a t ‑> f:('a ‑> bool) ‑> bool
val count : 'a t ‑> f:('a ‑> bool) ‑> int
val sum : (module Base.Commutative_group.S with type t = 'sum) ‑> 'a t ‑> f:('a ‑> 'sum) ‑> 'sum
val find : 'a t ‑> f:('a ‑> bool) ‑> 'a option
val find_map : 'a t ‑> f:('a ‑> 'b option) ‑> 'b option
val to_list : 'a t ‑> 'a list
val to_array : 'a t ‑> 'a array
val min_elt : 'a t ‑> cmp:('a ‑> 'a ‑> int) ‑> 'a option
val max_elt : 'a t ‑> cmp:('a ‑> 'a ‑> int) ‑> 'a option
val invariant : 'a t ‑> Core_kernel__.Import.unit
val create : ?growth_allowed:Core_kernel__.Import.bool ‑> ?size:Core_kernel__.Import.int ‑> Core_kernel__.Import.unit ‑> 'a t
val clear : 'a t ‑> Core_kernel__.Import.unit
val mem : 'a t ‑> Key.t ‑> Core_kernel__.Import.bool
val lookup : 'a t ‑> Key.t ‑> 'a Core_kernel__.Import.option
val enqueue_exn : 'a t ‑> Key.t ‑> 'a ‑> Core_kernel__.Import.unit
val lookup_and_move_to_back : 'a t ‑> Key.t ‑> 'a Core_kernel__.Import.option
val first : 'a t ‑> 'a Core_kernel__.Import.option
val first_with_key : 'a t ‑> (Key.t * 'a) Core_kernel__.Import.option
val keys : 'a t ‑> Key.t Core_kernel__.Import.list
val dequeue : 'a t ‑> 'a Core_kernel__.Import.option
val dequeue_exn : 'a t ‑> 'a
val dequeue_with_key : 'a t ‑> (Key.t * 'a) Core_kernel__.Import.option
val dequeue_all : 'a t ‑> f:('a ‑> Core_kernel__.Import.unit) ‑> Core_kernel__.Import.unit
val remove_exn : 'a t ‑> Key.t ‑> Core_kernel__.Import.unit
val replace_exn : 'a t ‑> Key.t ‑> 'a ‑> Core_kernel__.Import.unit
val iteri : 'a t ‑> f:(key:Key.t ‑> data:'a ‑> Core_kernel__.Import.unit) ‑> Core_kernel__.Import.unit