sig
  val add : ('a, 'b) BatHashtbl.t -> key:'-> data:'-> unit
  val replace : ('a, 'b) BatHashtbl.t -> key:'-> data:'-> unit
  val iter : f:(key:'-> data:'-> unit) -> ('a, 'b) BatHashtbl.t -> unit
  val map :
    f:(key:'-> data:'-> 'c) ->
    ('a, 'b) BatHashtbl.t -> ('a, 'c) BatHashtbl.t
  val filter :
    f:('-> bool) -> ('b, 'a) BatHashtbl.t -> ('b, 'a) BatHashtbl.t
  val filteri :
    f:(key:'-> data:'-> bool) ->
    ('a, 'b) BatHashtbl.t -> ('a, 'b) BatHashtbl.t
  val filter_map :
    f:(key:'-> data:'-> 'c option) ->
    ('a, 'b) BatHashtbl.t -> ('a, 'c) BatHashtbl.t
  val fold :
    f:(key:'-> data:'-> '-> 'c) ->
    ('a, 'b) BatHashtbl.t -> init:'-> 'c
end