sig type'a t val create : int ->'a Weak.t val length : 'a Weak.t -> int val set : 'a Weak.t -> int ->'a option -> unit val get : 'a Weak.t -> int ->'a option val get_copy : 'a Weak.t -> int ->'a option val check : 'a Weak.t -> int -> bool val fill : 'a Weak.t -> int -> int ->'a option -> unit val blit : 'a Weak.t -> int ->'a Weak.t -> int -> int -> unit moduletypeS = sig type data and 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 ->'a) ->Weak.S.t ->'a ->'a val count : Weak.S.t -> int val stats : Weak.S.t -> int * int * int * int * int * int end moduleMake : functor (H : Hashtbl.HashedType) -> sig type data = H.t and 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 ->'a) ->Weak.S.t ->'a ->'a val count : Weak.S.t -> int val stats : Weak.S.t -> int * int * int * int * int * int end