sig
exception Empty
type day = int
type lifetime
val io_lifetime : Lifetime.lifetime Io.literate
val io_day : Lifetime.day Io.literate
val day_of_ymd : int * int * int -> Lifetime.day
val ymd_of_day : Lifetime.day -> int * int * int
val empty : Lifetime.lifetime
val load : string -> Lifetime.lifetime
val save : string -> Lifetime.lifetime -> unit
val output : Pervasives.out_channel -> Lifetime.lifetime -> unit
val singleton : Lifetime.day -> Lifetime.lifetime
val add_day : Lifetime.lifetime -> Lifetime.day -> Lifetime.lifetime
val is_empty : Lifetime.lifetime -> bool
val range : Lifetime.lifetime -> Lifetime.day * Lifetime.day
val iterate_over_intervals :
(Lifetime.day * Lifetime.day -> unit) -> Lifetime.lifetime -> unit
val iterate_over_days : (Lifetime.day -> unit) -> Lifetime.lifetime -> unit
end