sig type _date = Date.t = private { y : int; m : Month.t; d : int; } end