Module Tjr_polymap
module Private : sig ... end
val lift : (('k, 'v) PMap.t -> 'a) -> ('k, 'v) t -> 'a
val mem : 'a -> ('a, 'b) t -> bool
val map : ('v -> 'u) -> ('k, 'v) t -> ('k, 'u) t
val bindings : ('k, 'v) t -> ('k * 'v) list
val empty : ('k -> 'k -> int) -> ('k, 'v) t
val cardinal : ('k, 'v) t -> int
val is_empty : ('k, 'v) t -> bool
val iter : ('k -> 'v -> unit) -> ('k, 'v) t -> unit
val find : 'k -> ('k, 'v) t -> 'v
val find_opt : 'k -> ('k, 'v) t -> 'v option
val remove : 'k -> ('k, 'v) t -> ('k, 'v) t
val add : 'k -> 'v -> ('k, 'v) t -> ('k, 'v) t
val foldi : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) t -> 'c -> 'c
val empty_int_map : unit -> (int, 'a) t
val empty_string_map : unit -> (string, 'a) t
val from_bindings : compare:('a -> 'a -> int) -> ('a * 'b) list -> ('a, 'b) t
NOTE later bindings take precedence