sig   type key   type 'a t   val empty : unit -> 'CCPersistentHashtbl.S.t   val create : int -> 'CCPersistentHashtbl.S.t   val is_empty : 'CCPersistentHashtbl.S.t -> bool   val find : 'CCPersistentHashtbl.S.t -> CCPersistentHashtbl.S.key -> 'a   val get_exn : CCPersistentHashtbl.S.key -> 'CCPersistentHashtbl.S.t -> 'a   val get :     CCPersistentHashtbl.S.key -> 'CCPersistentHashtbl.S.t -> 'a option   val mem : 'CCPersistentHashtbl.S.t -> CCPersistentHashtbl.S.key -> bool   val length : 'CCPersistentHashtbl.S.t -> int   val add :     'CCPersistentHashtbl.S.t ->     CCPersistentHashtbl.S.key -> '-> 'CCPersistentHashtbl.S.t   val replace :     'CCPersistentHashtbl.S.t ->     CCPersistentHashtbl.S.key -> '-> 'CCPersistentHashtbl.S.t   val update :     'CCPersistentHashtbl.S.t ->     CCPersistentHashtbl.S.key ->     ('a option -> 'a option) -> 'CCPersistentHashtbl.S.t   val remove :     'CCPersistentHashtbl.S.t ->     CCPersistentHashtbl.S.key -> 'CCPersistentHashtbl.S.t   val copy : 'CCPersistentHashtbl.S.t -> 'CCPersistentHashtbl.S.t   val merge :     f:(CCPersistentHashtbl.S.key ->        [ `Both of 'a * '| `Left of '| `Right of 'b ] -> 'c option) ->     'CCPersistentHashtbl.S.t ->     'CCPersistentHashtbl.S.t -> 'CCPersistentHashtbl.S.t   val iter :     'CCPersistentHashtbl.S.t ->     (CCPersistentHashtbl.S.key -> '-> unit) -> unit   val fold :     ('-> CCPersistentHashtbl.S.key -> '-> 'b) ->     '-> 'CCPersistentHashtbl.S.t -> 'b   val map :     (CCPersistentHashtbl.S.key -> '-> 'b) ->     'CCPersistentHashtbl.S.t -> 'CCPersistentHashtbl.S.t   val filter :     (CCPersistentHashtbl.S.key -> '-> bool) ->     'CCPersistentHashtbl.S.t -> 'CCPersistentHashtbl.S.t   val filter_map :     (CCPersistentHashtbl.S.key -> '-> 'b option) ->     'CCPersistentHashtbl.S.t -> 'CCPersistentHashtbl.S.t   val for_all :     (CCPersistentHashtbl.S.key -> '-> bool) ->     'CCPersistentHashtbl.S.t -> bool   val exists :     (CCPersistentHashtbl.S.key -> '-> bool) ->     'CCPersistentHashtbl.S.t -> bool   val of_seq :     (CCPersistentHashtbl.S.key * 'a) CCPersistentHashtbl.sequence ->     'CCPersistentHashtbl.S.t   val of_list :     (CCPersistentHashtbl.S.key * 'a) list -> 'CCPersistentHashtbl.S.t   val add_seq :     'CCPersistentHashtbl.S.t ->     (CCPersistentHashtbl.S.key * 'a) CCPersistentHashtbl.sequence ->     'CCPersistentHashtbl.S.t   val add_list :     'CCPersistentHashtbl.S.t ->     (CCPersistentHashtbl.S.key * 'a) list -> 'CCPersistentHashtbl.S.t   val to_seq :     'CCPersistentHashtbl.S.t ->     (CCPersistentHashtbl.S.key * 'a) CCPersistentHashtbl.sequence   val to_list :     'CCPersistentHashtbl.S.t -> (CCPersistentHashtbl.S.key * 'a) list   val equal :     'CCPersistentHashtbl.equal ->     'CCPersistentHashtbl.S.t CCPersistentHashtbl.equal   val pp :     ?sep:string ->     ?arrow:string ->     CCPersistentHashtbl.S.key CCPersistentHashtbl.printer ->     'CCPersistentHashtbl.printer ->     'CCPersistentHashtbl.S.t CCPersistentHashtbl.printer   val stats : 'CCPersistentHashtbl.S.t -> Hashtbl.statistics end