# Module type Core_hashtbl_intf.Hashtbl

    module type Hashtbl = sig .. end

    module Hashable: Core_hashtbl_intf.Hashable

    val hash : 'a -> int

    val hash_param : int -> int -> 'a -> int

    type ('a, 'b) t

    include Core_hashtbl_intf.Creators

    include Core_hashtbl_intf.Accessors

    module Poly: sig .. end  with type ('a, 'b) t = ('a, 'b) t

    module type Key = Core_hashtbl_intf.Key

    module type Key_binable = Core_hashtbl_intf.Key_binable

    module type S = Core_hashtbl_intf.S          with type ('a, 'b) hashtbl = ('a, 'b) t

    module type S_binable = Core_hashtbl_intf.S_binable  with type ('a, 'b) hashtbl = ('a, 'b) t

    module Make: functor (Key : Key) -> S          with type key = Key.t

    module Make_binable: functor (Key : Key_binable) -> S_binable  with type key = Key.t

    val sexp_of_t : ('a -> Sexplib.Sexp.t) ->
           ('b -> Sexplib.Sexp.t) ->
           ('a, 'b) t -> Sexplib.Sexp.t