sig   type ('a, 'b) t   val empty : ('a, 'b) PMap.t   val is_empty : ('a, 'b) PMap.t -> bool   val create : ('a -> 'a -> int) -> ('a, 'b) PMap.t   val add : 'a -> 'b -> ('a, 'b) PMap.t -> ('a, 'b) PMap.t   val find : 'a -> ('a, 'b) PMap.t -> 'b   val remove : 'a -> ('a, 'b) PMap.t -> ('a, 'b) PMap.t   val mem : 'a -> ('a, 'b) PMap.t -> bool   val exists : 'a -> ('a, 'b) PMap.t -> bool   val iter : ('a -> 'b -> unit) -> ('a, 'b) PMap.t -> unit   val map : ('b -> 'c) -> ('a, 'b) PMap.t -> ('a, 'c) PMap.t   val mapi : ('a -> 'b -> 'c) -> ('a, 'b) PMap.t -> ('a, 'c) PMap.t   val fold : ('b -> 'c -> 'c) -> ('a, 'b) PMap.t -> 'c -> 'c   val foldi : ('a -> 'b -> 'c -> 'c) -> ('a, 'b) PMap.t -> 'c -> 'c   val enum : ('a, 'b) PMap.t -> ('a * 'b) Enum.t   val of_enum : ?cmp:('a -> 'a -> int) -> ('a * 'b) Enum.t -> ('a, 'b) PMap.t end