sig
  type data
  type t
  val create : int -> Mweak.S.t
  val clear : Mweak.S.t -> unit
  val merge : Mweak.S.t -> Mweak.S.data -> Mweak.S.data
  val add : Mweak.S.t -> Mweak.S.data -> unit
  val remove : Mweak.S.t -> Mweak.S.data -> unit
  val find : Mweak.S.t -> Mweak.S.data -> Mweak.S.data
  val find_all : Mweak.S.t -> Mweak.S.data -> Mweak.S.data list
  val mem : Mweak.S.t -> Mweak.S.data -> bool
  val iter : (Mweak.S.data -> unit) -> Mweak.S.t -> unit
  val fold : (Mweak.S.data -> '-> 'a) -> Mweak.S.t -> '-> 'a
  val count : Mweak.S.t -> int
  val stats : Mweak.S.t -> int * int * int * int * int * int
end