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