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