sig
  type 'a t
  type key
  val create : int -> 'WeakPlus.WEAKPLUS.t
  val resize : ?size:int -> 'WeakPlus.WEAKPLUS.t -> unit
  val add : 'WeakPlus.WEAKPLUS.t -> WeakPlus.WEAKPLUS.key -> '-> unit
  val remove : 'WeakPlus.WEAKPLUS.t -> WeakPlus.WEAKPLUS.key -> unit
  val find' : 'WeakPlus.WEAKPLUS.t -> WeakPlus.WEAKPLUS.key -> 'a option
  val find : 'WeakPlus.WEAKPLUS.t -> WeakPlus.WEAKPLUS.key -> 'a
  val mem : 'WeakPlus.WEAKPLUS.t -> WeakPlus.WEAKPLUS.key -> bool
  val count : 'WeakPlus.WEAKPLUS.t -> int
  val iter :
    (WeakPlus.WEAKPLUS.key -> '-> unit) -> 'WeakPlus.WEAKPLUS.t -> unit
end