sig
type t
val empty : t
val add : t -> t -> t
val sub : t -> t -> t
val opp : t -> t
val equal : t -> t -> bool
val compare : t -> t -> int
val hash : t -> int
val make : int -> int -> int -> Date_sig.S.t
val lmake : ?year:int -> ?month:int -> ?day:int -> unit -> Date_sig.S.t
val year : int -> Date_sig.S.t
val month : int -> Date_sig.S.t
val week : int -> Date_sig.S.t
val day : int -> Date_sig.S.t
exception Not_computable
val nb_days : Date_sig.S.t -> int
val ymd : Date_sig.S.t -> int * int * int
end