sig
  type t
  val empty : CCHet.Map.t
  val mem : 'CCHet.Key.t -> CCHet.Map.t -> bool
  val add : 'CCHet.Key.t -> '-> CCHet.Map.t -> CCHet.Map.t
  val length : CCHet.Map.t -> int
  val cardinal : CCHet.Map.t -> int
  val find : 'CCHet.Key.t -> CCHet.Map.t -> 'a option
  val find_exn : 'CCHet.Key.t -> CCHet.Map.t -> 'a
  val iter : (CCHet.pair -> unit) -> CCHet.Map.t -> unit
  val to_seq : CCHet.Map.t -> CCHet.pair CCHet.sequence
  val of_seq : CCHet.pair CCHet.sequence -> CCHet.Map.t
  val add_seq : CCHet.Map.t -> CCHet.pair CCHet.sequence -> CCHet.Map.t
  val add_list : CCHet.Map.t -> CCHet.pair list -> CCHet.Map.t
  val of_list : CCHet.pair list -> CCHet.Map.t
  val to_list : CCHet.Map.t -> CCHet.pair list
end