sig
  module Set :
    sig
      module V1 :
        functor
          (Elt : sig
                   type t
                   type comparator_witness
                   val comparator :
                     (t, comparator_witness) Std.Comparator.comparator
                   val t_of_sexp :
                     Sexplib.Sexp.t -> Stable_containers.Set.V1.t
                   val sexp_of_t :
                     Stable_containers.Set.V1.t -> Sexplib.Sexp.t
                   val bin_t :
                     Stable_containers.Set.V1.t Std.Bin_prot.Type_class.t
                   val bin_read_t :
                     Stable_containers.Set.V1.t Std.Bin_prot.Read.reader
                   val __bin_read_t__ :
                     (int -> Stable_containers.Set.V1.t)
                     Std.Bin_prot.Read.reader
                   val bin_reader_t :
                     Stable_containers.Set.V1.t
                     Std.Bin_prot.Type_class.reader
                   val bin_size_t :
                     Stable_containers.Set.V1.t Std.Bin_prot.Size.sizer
                   val bin_write_t :
                     Stable_containers.Set.V1.t Std.Bin_prot.Write.writer
                   val bin_writer_t :
                     Stable_containers.Set.V1.t
                     Std.Bin_prot.Type_class.writer
                 end->
          sig
            type t = (Elt.t, Elt.comparator_witness) Std.Set.t
            val bin_t : Stable_containers.Set.V1.t Std.Bin_prot.Type_class.t
            val bin_read_t :
              Stable_containers.Set.V1.t Std.Bin_prot.Read.reader
            val __bin_read_t__ :
              (int -> Stable_containers.Set.V1.t) Std.Bin_prot.Read.reader
            val bin_reader_t :
              Stable_containers.Set.V1.t Std.Bin_prot.Type_class.reader
            val bin_size_t :
              Stable_containers.Set.V1.t Std.Bin_prot.Size.sizer
            val bin_write_t :
              Stable_containers.Set.V1.t Std.Bin_prot.Write.writer
            val bin_writer_t :
              Stable_containers.Set.V1.t Std.Bin_prot.Type_class.writer
            val t_of_sexp : Sexplib.Sexp.t -> Stable_containers.Set.V1.t
            val sexp_of_t : Stable_containers.Set.V1.t -> Sexplib.Sexp.t
          end
    end
  module Hashtbl :
    sig
      module V1 :
        functor (Key : Std.Hashtbl.Key_binable->
          sig
            type 'a t = (Key.t, 'a) Std.Hashtbl.t
            val bin_t :
              'Std.Bin_prot.Type_class.t ->
              'Stable_containers.Hashtbl.V1.t Std.Bin_prot.Type_class.t
            val bin_read_t :
              'Std.Bin_prot.Read.reader ->
              'Stable_containers.Hashtbl.V1.t Std.Bin_prot.Read.reader
            val __bin_read_t__ :
              'Std.Bin_prot.Read.reader ->
              (int -> 'Stable_containers.Hashtbl.V1.t)
              Std.Bin_prot.Read.reader
            val bin_reader_t :
              'Std.Bin_prot.Type_class.reader ->
              'Stable_containers.Hashtbl.V1.t
              Std.Bin_prot.Type_class.reader
            val bin_size_t :
              'Std.Bin_prot.Size.sizer ->
              'Stable_containers.Hashtbl.V1.t Std.Bin_prot.Size.sizer
            val bin_write_t :
              'Std.Bin_prot.Write.writer ->
              'Stable_containers.Hashtbl.V1.t Std.Bin_prot.Write.writer
            val bin_writer_t :
              'Std.Bin_prot.Type_class.writer ->
              'Stable_containers.Hashtbl.V1.t
              Std.Bin_prot.Type_class.writer
            val t_of_sexp :
              (Sexplib.Sexp.t -> 'a) ->
              Sexplib.Sexp.t -> 'Stable_containers.Hashtbl.V1.t
            val sexp_of_t :
              ('-> Sexplib.Sexp.t) ->
              'Stable_containers.Hashtbl.V1.t -> Sexplib.Sexp.t
          end
    end
  module Hash_set :
    sig
      module V1 :
        functor (Elt : Std.Hash_set.Elt_binable->
          sig
            type t = Elt.t Std.Hash_set.t
            val bin_t :
              Stable_containers.Hash_set.V1.t Std.Bin_prot.Type_class.t
            val bin_read_t :
              Stable_containers.Hash_set.V1.t Std.Bin_prot.Read.reader
            val __bin_read_t__ :
              (int -> Stable_containers.Hash_set.V1.t)
              Std.Bin_prot.Read.reader
            val bin_reader_t :
              Stable_containers.Hash_set.V1.t Std.Bin_prot.Type_class.reader
            val bin_size_t :
              Stable_containers.Hash_set.V1.t Std.Bin_prot.Size.sizer
            val bin_write_t :
              Stable_containers.Hash_set.V1.t Std.Bin_prot.Write.writer
            val bin_writer_t :
              Stable_containers.Hash_set.V1.t Std.Bin_prot.Type_class.writer
            val t_of_sexp : Sexplib.Sexp.t -> Stable_containers.Hash_set.V1.t
            val sexp_of_t : Stable_containers.Hash_set.V1.t -> Sexplib.Sexp.t
          end
    end
  module Map :
    sig
      module V1 :
        functor
          (Key : sig
                   type t
                   type comparator_witness
                   val comparator :
                     (t, comparator_witness) Std.Comparator.comparator
                   val t_of_sexp :
                     Sexplib.Sexp.t -> Stable_containers.Map.V1.t
                   val sexp_of_t :
                     Stable_containers.Map.V1.t -> Sexplib.Sexp.t
                   val bin_t :
                     Stable_containers.Map.V1.t Std.Bin_prot.Type_class.t
                   val bin_read_t :
                     Stable_containers.Map.V1.t Std.Bin_prot.Read.reader
                   val __bin_read_t__ :
                     (int -> Stable_containers.Map.V1.t)
                     Std.Bin_prot.Read.reader
                   val bin_reader_t :
                     Stable_containers.Map.V1.t
                     Std.Bin_prot.Type_class.reader
                   val bin_size_t :
                     Stable_containers.Map.V1.t Std.Bin_prot.Size.sizer
                   val bin_write_t :
                     Stable_containers.Map.V1.t Std.Bin_prot.Write.writer
                   val bin_writer_t :
                     Stable_containers.Map.V1.t
                     Std.Bin_prot.Type_class.writer
                 end->
          sig
            type 'a t = (Key.t, 'a, Key.comparator_witness) Std.Map.t
            val bin_t :
              'Std.Bin_prot.Type_class.t ->
              'Stable_containers.Map.V1.t Std.Bin_prot.Type_class.t
            val bin_read_t :
              'Std.Bin_prot.Read.reader ->
              'Stable_containers.Map.V1.t Std.Bin_prot.Read.reader
            val __bin_read_t__ :
              'Std.Bin_prot.Read.reader ->
              (int -> 'Stable_containers.Map.V1.t) Std.Bin_prot.Read.reader
            val bin_reader_t :
              'Std.Bin_prot.Type_class.reader ->
              'Stable_containers.Map.V1.t Std.Bin_prot.Type_class.reader
            val bin_size_t :
              'Std.Bin_prot.Size.sizer ->
              'Stable_containers.Map.V1.t Std.Bin_prot.Size.sizer
            val bin_write_t :
              'Std.Bin_prot.Write.writer ->
              'Stable_containers.Map.V1.t Std.Bin_prot.Write.writer
            val bin_writer_t :
              'Std.Bin_prot.Type_class.writer ->
              'Stable_containers.Map.V1.t Std.Bin_prot.Type_class.writer
            val t_of_sexp :
              (Sexplib.Sexp.t -> 'a) ->
              Sexplib.Sexp.t -> 'Stable_containers.Map.V1.t
            val sexp_of_t :
              ('-> Sexplib.Sexp.t) ->
              'Stable_containers.Map.V1.t -> Sexplib.Sexp.t
          end
    end
end