sig
  module V1 :
    sig
      module type S =
        sig
          type key
          module Table :
            sig
              type 'a t =
                  (Stable_containers.Hashable.V1.S.key, 'a)
                  Std_internal.Hashtbl.t
              val bin_t :
                'Bin_prot.Type_class.t ->
                'Stable_containers.Hashable.V1.S.Table.t
                Bin_prot.Type_class.t
              val bin_read_t :
                'Bin_prot.Read.reader ->
                'Stable_containers.Hashable.V1.S.Table.t
                Bin_prot.Read.reader
              val __bin_read_t__ :
                'Bin_prot.Read.reader ->
                (int -> 'Stable_containers.Hashable.V1.S.Table.t)
                Bin_prot.Read.reader
              val bin_reader_t :
                'Bin_prot.Type_class.reader ->
                'Stable_containers.Hashable.V1.S.Table.t
                Bin_prot.Type_class.reader
              val bin_size_t :
                'Bin_prot.Size.sizer ->
                'Stable_containers.Hashable.V1.S.Table.t
                Bin_prot.Size.sizer
              val bin_write_t :
                'Bin_prot.Write.writer ->
                'Stable_containers.Hashable.V1.S.Table.t
                Bin_prot.Write.writer
              val bin_writer_t :
                'Bin_prot.Type_class.writer ->
                'Stable_containers.Hashable.V1.S.Table.t
                Bin_prot.Type_class.writer
              val t_of_sexp :
                (Sexplib.Sexp.t -> 'a) ->
                Sexplib.Sexp.t -> 'Stable_containers.Hashable.V1.S.Table.t
              val sexp_of_t :
                ('-> Sexplib.Sexp.t) ->
                'Stable_containers.Hashable.V1.S.Table.t -> Sexplib.Sexp.t
            end
          module Hash_set :
            sig
              type t = Stable_containers.Hashable.V1.S.key Hash_set.t
              val bin_t :
                Stable_containers.Hashable.V1.S.Hash_set.t
                Bin_prot.Type_class.t
              val bin_read_t :
                Stable_containers.Hashable.V1.S.Hash_set.t
                Bin_prot.Read.reader
              val __bin_read_t__ :
                (int -> Stable_containers.Hashable.V1.S.Hash_set.t)
                Bin_prot.Read.reader
              val bin_reader_t :
                Stable_containers.Hashable.V1.S.Hash_set.t
                Bin_prot.Type_class.reader
              val bin_size_t :
                Stable_containers.Hashable.V1.S.Hash_set.t
                Bin_prot.Size.sizer
              val bin_write_t :
                Stable_containers.Hashable.V1.S.Hash_set.t
                Bin_prot.Write.writer
              val bin_writer_t :
                Stable_containers.Hashable.V1.S.Hash_set.t
                Bin_prot.Type_class.writer
              val t_of_sexp :
                Sexplib.Sexp.t -> Stable_containers.Hashable.V1.S.Hash_set.t
              val sexp_of_t :
                Stable_containers.Hashable.V1.S.Hash_set.t -> Sexplib.Sexp.t
            end
        end
      module Make :
        functor (Key : Std_internal.Hashtbl.Key_binable->
          sig
            module Table :
              sig
                type 'a t = (Key.t, 'a) Std_internal.Hashtbl.t
                val bin_t :
                  'Bin_prot.Type_class.t -> 'a t Bin_prot.Type_class.t
                val bin_read_t :
                  'Bin_prot.Read.reader -> 'a t Bin_prot.Read.reader
                val __bin_read_t__ :
                  'Bin_prot.Read.reader ->
                  (int -> 'a t) Bin_prot.Read.reader
                val bin_reader_t :
                  'Bin_prot.Type_class.reader ->
                  'a t Bin_prot.Type_class.reader
                val bin_size_t :
                  'Bin_prot.Size.sizer -> 'a t Bin_prot.Size.sizer
                val bin_write_t :
                  'Bin_prot.Write.writer -> 'a t Bin_prot.Write.writer
                val bin_writer_t :
                  'Bin_prot.Type_class.writer ->
                  'a t Bin_prot.Type_class.writer
                val t_of_sexp :
                  (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
                val sexp_of_t :
                  ('-> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
              end
            module Hash_set :
              sig
                type t = Key.t Hash_set.t
                val bin_t : t Bin_prot.Type_class.t
                val bin_read_t : t Bin_prot.Read.reader
                val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
                val bin_reader_t : t Bin_prot.Type_class.reader
                val bin_size_t : t Bin_prot.Size.sizer
                val bin_write_t : t Bin_prot.Write.writer
                val bin_writer_t : t Bin_prot.Type_class.writer
                val t_of_sexp : Sexplib.Sexp.t -> t
                val sexp_of_t : t -> Sexplib.Sexp.t
              end
          end
    end
end