sig
  type elt
  type t
  val create : int -> CCHashtbl.COUNTER.t
  val incr : CCHashtbl.COUNTER.t -> CCHashtbl.COUNTER.elt -> unit
  val incr_by : CCHashtbl.COUNTER.t -> int -> CCHashtbl.COUNTER.elt -> unit
  val get : CCHashtbl.COUNTER.t -> CCHashtbl.COUNTER.elt -> int
  val decr : CCHashtbl.COUNTER.t -> CCHashtbl.COUNTER.elt -> unit
  val length : CCHashtbl.COUNTER.t -> int
  val add_seq :
    CCHashtbl.COUNTER.t -> CCHashtbl.COUNTER.elt CCHashtbl.sequence -> unit
  val of_seq :
    CCHashtbl.COUNTER.elt CCHashtbl.sequence -> CCHashtbl.COUNTER.t
  val to_seq :
    CCHashtbl.COUNTER.t -> (CCHashtbl.COUNTER.elt * int) CCHashtbl.sequence
  val add_list :
    CCHashtbl.COUNTER.t -> (CCHashtbl.COUNTER.elt * int) list -> unit
  val of_list : (CCHashtbl.COUNTER.elt * int) list -> CCHashtbl.COUNTER.t
  val to_list : CCHashtbl.COUNTER.t -> (CCHashtbl.COUNTER.elt * int) list
end