sig
  module Hashtbl :
    sig
      type ('a, 'b) t = ('a, 'b) Hashtbl.t
      val exists : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> bool
      val keys : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a Enum.t
      val values : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'b Enum.t
      val enum : ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a * 'b) Enum.t
      val of_enum : ('a * 'b) Enum.t -> ('a, 'b) ExtHashtbl.Hashtbl.t
      val find_default : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> 'b -> 'b
      val find_option : ('a, 'b) Hashtbl.t -> 'a -> 'b option
      val remove_all : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> unit
      val map :
        ('b -> 'c) ->
        ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a, 'c) ExtHashtbl.Hashtbl.t
      val length : ('a, 'b) ExtHashtbl.Hashtbl.t -> int
      val create : int -> ('a, 'b) ExtHashtbl.Hashtbl.t
      val clear : ('a, 'b) ExtHashtbl.Hashtbl.t -> unit
      val add : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> 'b -> unit
      val copy :
        ('a, 'b) ExtHashtbl.Hashtbl.t -> ('a, 'b) ExtHashtbl.Hashtbl.t
      val find : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> 'b
      val find_all : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> 'b list
      val mem : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> bool
      val remove : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> unit
      val replace : ('a, 'b) ExtHashtbl.Hashtbl.t -> 'a -> 'b -> unit
      val iter : ('a -> 'b -> unit) -> ('a, 'b) ExtHashtbl.Hashtbl.t -> unit
      val fold :
        ('a -> 'b -> 'c -> 'c) -> ('a, 'b) ExtHashtbl.Hashtbl.t -> 'c -> 'c
      val hash : 'a -> int
    end
end