sig
type ('a, 'b) t = ('a, 'b) Core.Weak_hashtbl.t
val create : 'a Core.Std_internal.Hashtbl.Hashable.t -> ('a, 'b) t
val mem : ('a, 'b) t -> 'a -> bool
val find : ('a, 'b) t -> 'a -> 'b Core.Heap_block.t option
val find_or_add :
('a, 'b) t ->
'a -> default:(unit -> 'b Core.Heap_block.t) -> 'b Core.Heap_block.t
val remove : ('a, 'b) t -> 'a -> unit
val replace : ('a, 'b) t -> key:'a -> data:'b Core.Heap_block.t -> unit
val key_is_using_space : ('a, 'b) t -> 'a -> bool
val reclaim_space_for_keys_with_unused_data : ('a, 'b) t -> unit
val remove_keys_with_unused_data : [ `Do_not_use ] -> unit
val set_run_when_unused_data : [ `Do_not_use ] -> unit
end