sig
  module V1 :
    sig
      type t = t
      module Map :
        sig
          type 'a t = (t, 'a, comparator_witness) Std_internal.Map.t
          val map : 'a t -> f:('-> 'b) -> 'b t
          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
          val compare : ('-> '-> int) -> 'a t -> 'a t -> int
          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
        end
      module Set :
        sig
          type t = (t, comparator_witness) Std_internal.Set.t
          val t_of_sexp : Sexplib.Sexp.t -> t
          val sexp_of_t : t -> Sexplib.Sexp.t
          val compare : t -> t -> int
          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
        end
      module Table :
        sig
          type 'a t = (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 = 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
      val compare : Day_of_week.t -> Day_of_week.t -> int
      val t_of_sexp : Sexplib.Sexp.t -> Day_of_week.t
      val sexp_of_t : Day_of_week.t -> Sexplib.Sexp.t
      val bin_t : Day_of_week.t Bin_prot.Type_class.t
      val bin_read_t : Day_of_week.t Bin_prot.Read.reader
      val __bin_read_t__ : (int -> Day_of_week.t) Bin_prot.Read.reader
      val bin_reader_t : Day_of_week.t Bin_prot.Type_class.reader
      val bin_size_t : Day_of_week.t Bin_prot.Size.sizer
      val bin_write_t : Day_of_week.t Bin_prot.Write.writer
      val bin_writer_t : Day_of_week.t Bin_prot.Type_class.writer
    end
end