sig   type key   type 'a t   val create : int -> 'a BatHashtbl.S.t   val length : 'a BatHashtbl.S.t -> int   val is_empty : 'a BatHashtbl.S.t -> bool   val clear : 'a BatHashtbl.S.t -> unit   val copy : 'a BatHashtbl.S.t -> 'a BatHashtbl.S.t   val add : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a -> unit   val remove : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> unit   val remove_all : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> unit   val find : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a   val find_all : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a list   val find_default : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a -> 'a   val find_option : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a option   val replace : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a -> unit   val mem : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> bool   val iter : (BatHashtbl.S.key -> 'a -> unit) -> 'a BatHashtbl.S.t -> unit   val fold :     (BatHashtbl.S.key -> 'a -> 'b -> 'b) -> 'a BatHashtbl.S.t -> 'b -> 'b   val map :     (BatHashtbl.S.key -> 'b -> 'c) -> 'b BatHashtbl.S.t -> 'c BatHashtbl.S.t   val map_inplace :     (BatHashtbl.S.key -> 'a -> 'a) -> 'a BatHashtbl.S.t -> unit   val filter : ('a -> bool) -> 'a BatHashtbl.S.t -> 'a BatHashtbl.S.t   val filter_inplace : ('a -> bool) -> 'a BatHashtbl.S.t -> unit   val filteri :     (BatHashtbl.S.key -> 'a -> bool) ->     'a BatHashtbl.S.t -> 'a BatHashtbl.S.t   val filteri_inplace :     (BatHashtbl.S.key -> 'a -> bool) -> 'a BatHashtbl.S.t -> unit   val filter_map :     (BatHashtbl.S.key -> 'a -> 'b option) ->     'a BatHashtbl.S.t -> 'b BatHashtbl.S.t   val filter_map_inplace :     (BatHashtbl.S.key -> 'a -> 'a option) -> 'a BatHashtbl.S.t -> unit   val modify : BatHashtbl.S.key -> ('a -> 'a) -> 'a BatHashtbl.S.t -> unit   val modify_def :     'a -> BatHashtbl.S.key -> ('a -> 'a) -> 'a BatHashtbl.S.t -> unit   val modify_opt :     BatHashtbl.S.key -> ('a option -> 'a option) -> 'a BatHashtbl.S.t -> unit   val keys : 'a BatHashtbl.S.t -> BatHashtbl.S.key BatEnum.t   val values : 'a BatHashtbl.S.t -> 'a BatEnum.t   val enum : 'a BatHashtbl.S.t -> (BatHashtbl.S.key * 'a) BatEnum.t   val of_enum : (BatHashtbl.S.key * 'a) BatEnum.t -> 'a BatHashtbl.S.t   val print :     ?first:string ->     ?last:string ->     ?sep:string ->     ('a BatInnerIO.output -> BatHashtbl.S.key -> unit) ->     ('a BatInnerIO.output -> 'b -> unit) ->     'a BatInnerIO.output -> 'b BatHashtbl.S.t -> unit   module Exceptionless :     sig       val find : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a option       val modify :         BatHashtbl.S.key ->         ('a -> 'a) -> 'a BatHashtbl.S.t -> (unit, exn) BatPervasives.result     end   module Infix :     sig       val ( --> ) : 'a BatHashtbl.S.t -> BatHashtbl.S.key -> 'a       val ( <-- ) : 'a BatHashtbl.S.t -> BatHashtbl.S.key * 'a -> unit     end   module Labels :     sig       val add : 'a BatHashtbl.S.t -> key:BatHashtbl.S.key -> data:'a -> unit       val replace :         'a BatHashtbl.S.t -> key:BatHashtbl.S.key -> data:'a -> unit       val iter :         f:(key:BatHashtbl.S.key -> data:'a -> unit) ->         'a BatHashtbl.S.t -> unit       val map :         f:(key:BatHashtbl.S.key -> data:'a -> 'b) ->         'a BatHashtbl.S.t -> 'b BatHashtbl.S.t       val map_inplace :         f:(key:BatHashtbl.S.key -> data:'a -> 'a) ->         'a BatHashtbl.S.t -> unit       val filter : f:('a -> bool) -> 'a BatHashtbl.S.t -> 'a BatHashtbl.S.t       val filter_inplace : f:('a -> bool) -> 'a BatHashtbl.S.t -> unit       val filteri :         f:(key:BatHashtbl.S.key -> data:'a -> bool) ->         'a BatHashtbl.S.t -> 'a BatHashtbl.S.t       val filteri_inplace :         f:(key:BatHashtbl.S.key -> data:'a -> bool) ->         'a BatHashtbl.S.t -> unit       val filter_map :         f:(key:BatHashtbl.S.key -> data:'a -> 'b option) ->         'a BatHashtbl.S.t -> 'b BatHashtbl.S.t       val filter_map_inplace :         f:(key:BatHashtbl.S.key -> data:'a -> 'a option) ->         'a BatHashtbl.S.t -> unit       val fold :         f:(key:BatHashtbl.S.key -> data:'a -> 'b -> 'b) ->         'a BatHashtbl.S.t -> init:'b -> 'b       val modify :         key:BatHashtbl.S.key -> f:('a -> 'a) -> 'a BatHashtbl.S.t -> unit       val modify_def :         default:'a ->         key:BatHashtbl.S.key -> f:('a -> 'a) -> 'a BatHashtbl.S.t -> unit       val modify_opt :         key:BatHashtbl.S.key ->         f:('a option -> 'a option) -> 'a BatHashtbl.S.t -> unit     end end