`sig type ('a, 'b) t val empty : ('a, 'b) BatMap.PMap.t val is_empty : ('a, 'b) BatMap.PMap.t -> bool val create : ('a -> 'a -> int) -> ('a, 'b) BatMap.PMap.t val singleton : ?cmp:('a -> 'a -> int) -> 'a -> 'b -> ('a, 'b) BatMap.PMap.t val cardinal : ('a, 'b) BatMap.PMap.t -> int val add : 'a -> 'b -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val update : 'a -> 'a -> 'b -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val find : 'a -> ('a, 'b) BatMap.PMap.t -> 'b val remove : 'a -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val mem : 'a -> ('a, 'b) BatMap.PMap.t -> bool val iter : ('a -> 'b -> unit) -> ('a, 'b) BatMap.PMap.t -> unit val map : ('b -> 'c) -> ('a, 'b) BatMap.PMap.t -> ('a, 'c) BatMap.PMap.t val mapi : ('a -> 'b -> 'c) -> ('a, 'b) BatMap.PMap.t -> ('a, 'c) BatMap.PMap.t val fold : ('b -> 'c -> 'c) -> ('a, 'b) BatMap.PMap.t -> 'c -> 'c val foldi : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) BatMap.PMap.t -> 'c -> 'c val at_rank_exn : int -> ('a, 'b) BatMap.PMap.t -> 'a * 'b val filterv : ('a -> bool) -> ('key, 'a) BatMap.PMap.t -> ('key, 'a) BatMap.PMap.t val filter : ('key -> 'a -> bool) -> ('key, 'a) BatMap.PMap.t -> ('key, 'a) BatMap.PMap.t val filter_map : ('key -> 'a -> 'b option) -> ('key, 'a) BatMap.PMap.t -> ('key, 'b) BatMap.PMap.t val choose : ('key, 'a) BatMap.PMap.t -> 'key * 'a val split : 'key -> ('key, 'a) BatMap.PMap.t -> ('key, 'a) BatMap.PMap.t * 'a option * ('key, 'a) BatMap.PMap.t val min_binding : ('key, 'a) BatMap.PMap.t -> 'key * 'a val pop_min_binding : ('key, 'a) BatMap.PMap.t -> ('key * 'a) * ('key, 'a) BatMap.PMap.t val max_binding : ('key, 'a) BatMap.PMap.t -> 'key * 'a val pop_max_binding : ('key, 'a) BatMap.PMap.t -> ('key * 'a) * ('key, 'a) BatMap.PMap.t val enum : ('a, 'b) BatMap.PMap.t -> ('a * 'b) BatEnum.t val backwards : ('a, 'b) BatMap.PMap.t -> ('a * 'b) BatEnum.t val keys : ('a, 'b) BatMap.PMap.t -> 'a BatEnum.t val values : ('a, 'b) BatMap.PMap.t -> 'b BatEnum.t val of_enum : ?cmp:('a -> 'a -> int) -> ('a * 'b) BatEnum.t -> ('a, 'b) BatMap.PMap.t val for_all : ('a -> 'b -> bool) -> ('a, 'b) BatMap.PMap.t -> bool val exists : ('a -> 'b -> bool) -> ('a, 'b) BatMap.PMap.t -> bool val partition : ('a -> 'b -> bool) -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t * ('a, 'b) BatMap.PMap.t val add_carry : 'a -> 'b -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t * 'b option val modify : 'a -> ('b -> 'b) -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val modify_def : 'b -> 'a -> ('b -> 'b) -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val modify_opt : 'a -> ('b option -> 'b option) -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val extract : 'a -> ('a, 'b) BatMap.PMap.t -> 'b * ('a, 'b) BatMap.PMap.t val pop : ('a, 'b) BatMap.PMap.t -> ('a * 'b) * ('a, 'b) BatMap.PMap.t val union : ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val diff : ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t val intersect : ('b -> 'c -> 'd) -> ('a, 'b) BatMap.PMap.t -> ('a, 'c) BatMap.PMap.t -> ('a, 'd) BatMap.PMap.t val merge : ('key -> 'a option -> 'b option -> 'c option) -> ('key, 'a) BatMap.PMap.t -> ('key, 'b) BatMap.PMap.t -> ('key, 'c) BatMap.PMap.t val merge_unsafe : ('key -> 'a option -> 'b option -> 'c option) -> ('key, 'a) BatMap.PMap.t -> ('key, 'b) BatMap.PMap.t -> ('key, 'c) BatMap.PMap.t val compare : ('b -> 'b -> int) -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t -> int val equal : ('b -> 'b -> bool) -> ('a, 'b) BatMap.PMap.t -> ('a, 'b) BatMap.PMap.t -> bool module Exceptionless : sig val find : 'a -> ('a, 'b) BatMap.PMap.t -> 'b option end module Infix : sig val ( --> ) : ('a, 'b) BatMap.PMap.t -> 'a -> 'b val ( <-- ) : ('a, 'b) BatMap.PMap.t -> 'a * 'b -> ('a, 'b) BatMap.PMap.t end val ( --> ) : ('a, 'b) BatMap.PMap.t -> 'a -> 'b val ( <-- ) : ('a, 'b) BatMap.PMap.t -> 'a * 'b -> ('a, 'b) BatMap.PMap.t val bindings : ('key, 'a) BatMap.PMap.t -> ('key * 'a) list val print : ?first:string -> ?last:string -> ?sep:string -> ?kvsep:string -> ('a BatInnerIO.output -> 'b -> unit) -> ('a BatInnerIO.output -> 'c -> unit) -> 'a BatInnerIO.output -> ('b, 'c) BatMap.PMap.t -> unit val get_cmp : ('a, 'b) BatMap.PMap.t -> 'a -> 'a -> int end`