sig
  type ('a, 'b) t
  val sexp_of_t :
    ('a -> Sexplib.Sexp.t) ->
    ('b -> Sexplib.Sexp.t) -> ('a, 'b) Fast_hashtbl.t -> Sexplib.Sexp.t
  val create : int -> ('a, 'b) Fast_hashtbl.t
  val clear : ('a, 'b) Fast_hashtbl.t -> unit
  val add : ('a, 'b) Fast_hashtbl.t -> key:'a -> data:'b -> unit
  val find_exn : ('a, 'b) Fast_hashtbl.t -> 'a -> 'b
  val find : ('a, 'b) Fast_hashtbl.t -> 'a -> 'b option
  val mem : ('a, 'b) Fast_hashtbl.t -> 'a -> bool
  val remove : ('a, 'b) Fast_hashtbl.t -> 'a -> unit
  val replace : ('a, 'b) Fast_hashtbl.t -> key:'a -> data:'b -> unit
  val iter : f:(key:'a -> data:'b -> unit) -> ('a, 'b) Fast_hashtbl.t -> unit
  val fold :
    f:(key:'a -> data:'b -> 'c -> 'c) ->
    ('a, 'b) Fast_hashtbl.t -> init:'c -> 'c
  val length : ('a, 'b) Fast_hashtbl.t -> int
end