sig
  val is_valid : year:int -> month:int -> day:int -> bool
  val of_cjd :
    ?wday:int Pervasives.ref ->
    ?yday:int Pervasives.ref -> int -> int * int * int
  val to_cjd : year:int -> month:int -> day:int -> int
  val to_cjd_unsafe : year:int -> month:int -> day:int -> int
  val of_mjd :
    ?wday:int Pervasives.ref ->
    ?yday:int Pervasives.ref -> int -> int * int * int
  val to_mjd : year:int -> month:int -> day:int -> int
end