`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`