sig
  type t
  type 'a key
  val newkey : unit -> 'a CCMixset.key
  val empty : CCMixset.t
  val set : key:'a CCMixset.key -> 'a -> CCMixset.t -> CCMixset.t
  val get : key:'a CCMixset.key -> CCMixset.t -> 'a option
  val get_exn : key:'a CCMixset.key -> CCMixset.t -> 'a
  val cardinal : CCMixset.t -> int
end