sig
  module V1 :
    sig
      type t = t = private { y : int; m : Core_kernel.Std.Month.t; d : int; }
      val compare : Date0.t -> Date0.t -> int
      val bin_t : Date0.t Core_kernel.Std.Bin_prot.Type_class.t
      val bin_read_t : Date0.t Core_kernel.Std.Bin_prot.Read.reader
      val __bin_read_t__ :
        (int -> Date0.t) Core_kernel.Std.Bin_prot.Read.reader
      val bin_reader_t : Date0.t Core_kernel.Std.Bin_prot.Type_class.reader
      val bin_size_t : Date0.t Core_kernel.Std.Bin_prot.Size.sizer
      val bin_write_t : Date0.t Core_kernel.Std.Bin_prot.Write.writer
      val bin_writer_t : Date0.t Core_kernel.Std.Bin_prot.Type_class.writer
      val t_of_sexp : Sexplib.Sexp.t -> Date0.t
      val sexp_of_t : Date0.t -> Sexplib.Sexp.t
    end
end