sig   val add : ('a, 'b) BatHashtbl.t -> key:'a -> data:'b -> unit   val replace : ('a, 'b) BatHashtbl.t -> key:'a -> data:'b -> unit   val iter : f:(key:'a -> data:'b -> unit) -> ('a, 'b) BatHashtbl.t -> unit   val map :     f:(key:'a -> data:'b -> 'c) ->     ('a, 'b) BatHashtbl.t -> ('a, 'c) BatHashtbl.t   val map_inplace :     f:(key:'a -> data:'b -> 'b) -> ('a, 'b) BatHashtbl.t -> unit   val filter :     f:('a -> bool) -> ('key, 'a) BatHashtbl.t -> ('key, 'a) BatHashtbl.t   val filter_inplace : f:('a -> bool) -> ('key, 'a) BatHashtbl.t -> unit   val filteri :     f:(key:'key -> data:'a -> bool) ->     ('key, 'a) BatHashtbl.t -> ('key, 'a) BatHashtbl.t   val filteri_inplace :     f:(key:'key -> data:'a -> bool) -> ('key, 'a) BatHashtbl.t -> unit   val filter_map :     f:(key:'key -> data:'a -> 'b option) ->     ('key, 'a) BatHashtbl.t -> ('key, 'b) BatHashtbl.t   val filter_map_inplace :     f:(key:'key -> data:'a -> 'a option) -> ('key, 'a) BatHashtbl.t -> unit   val fold :     f:(key:'a -> data:'b -> 'c -> 'c) ->     ('a, 'b) BatHashtbl.t -> init:'c -> 'c   val modify : key:'a -> f:('b -> 'b) -> ('a, 'b) BatHashtbl.t -> unit   val modify_def :     default:'b -> key:'a -> f:('b -> 'b) -> ('a, 'b) BatHashtbl.t -> unit   val modify_opt :     key:'a -> f:('b option -> 'b option) -> ('a, 'b) BatHashtbl.t -> unit end