sig   type key   type 'a t   val empty : 'CCHashTrie.S.t   val is_empty : 'CCHashTrie.S.t -> bool   val singleton : CCHashTrie.S.key -> '-> 'CCHashTrie.S.t   val add : CCHashTrie.S.key -> '-> 'CCHashTrie.S.t -> 'CCHashTrie.S.t   val mem : CCHashTrie.S.key -> 'CCHashTrie.S.t -> bool   val get : CCHashTrie.S.key -> 'CCHashTrie.S.t -> 'a option   val get_exn : CCHashTrie.S.key -> 'CCHashTrie.S.t -> 'a   val remove : CCHashTrie.S.key -> 'CCHashTrie.S.t -> 'CCHashTrie.S.t   val update :     CCHashTrie.S.key ->     f:('a option -> 'a option) -> 'CCHashTrie.S.t -> 'CCHashTrie.S.t   val add_mut :     id:CCHashTrie.Transient.t ->     CCHashTrie.S.key -> '-> 'CCHashTrie.S.t -> 'CCHashTrie.S.t   val remove_mut :     id:CCHashTrie.Transient.t ->     CCHashTrie.S.key -> 'CCHashTrie.S.t -> 'CCHashTrie.S.t   val update_mut :     id:CCHashTrie.Transient.t ->     CCHashTrie.S.key ->     f:('a option -> 'a option) -> 'CCHashTrie.S.t -> 'CCHashTrie.S.t   val cardinal : 'CCHashTrie.S.t -> int   val choose : 'CCHashTrie.S.t -> (CCHashTrie.S.key * 'a) option   val choose_exn : 'CCHashTrie.S.t -> CCHashTrie.S.key * 'a   val iter : f:(CCHashTrie.S.key -> '-> unit) -> 'CCHashTrie.S.t -> unit   val fold :     f:('-> CCHashTrie.S.key -> '-> 'b) -> x:'-> 'CCHashTrie.S.t -> 'b   val to_list : 'CCHashTrie.S.t -> (CCHashTrie.S.key * 'a) list   val add_list :     'CCHashTrie.S.t -> (CCHashTrie.S.key * 'a) list -> 'CCHashTrie.S.t   val add_list_mut :     id:CCHashTrie.Transient.t ->     'CCHashTrie.S.t -> (CCHashTrie.S.key * 'a) list -> 'CCHashTrie.S.t   val of_list : (CCHashTrie.S.key * 'a) list -> 'CCHashTrie.S.t   val add_seq :     'CCHashTrie.S.t ->     (CCHashTrie.S.key * 'a) CCHashTrie.sequence -> 'CCHashTrie.S.t   val add_seq_mut :     id:CCHashTrie.Transient.t ->     'CCHashTrie.S.t ->     (CCHashTrie.S.key * 'a) CCHashTrie.sequence -> 'CCHashTrie.S.t   val of_seq :     (CCHashTrie.S.key * 'a) CCHashTrie.sequence -> 'CCHashTrie.S.t   val to_seq :     'CCHashTrie.S.t -> (CCHashTrie.S.key * 'a) CCHashTrie.sequence   val add_gen :     'CCHashTrie.S.t ->     (CCHashTrie.S.key * 'a) CCHashTrie.gen -> 'CCHashTrie.S.t   val add_gen_mut :     id:CCHashTrie.Transient.t ->     'CCHashTrie.S.t ->     (CCHashTrie.S.key * 'a) CCHashTrie.gen -> 'CCHashTrie.S.t   val of_gen : (CCHashTrie.S.key * 'a) CCHashTrie.gen -> 'CCHashTrie.S.t   val to_gen : 'CCHashTrie.S.t -> (CCHashTrie.S.key * 'a) CCHashTrie.gen   val print :     CCHashTrie.S.key CCHashTrie.printer ->     'CCHashTrie.printer -> 'CCHashTrie.S.t CCHashTrie.printer   val as_tree :     'CCHashTrie.S.t ->     [ `L of int * (CCHashTrie.S.key * 'a) list | `N ] CCHashTrie.ktree end