Recur
type freq =
| Daily
| Weekly
| Monthly
| Yearly
type until =
| Until_date of Civil.date
| Until_time of Civil.date * int
type rule = {
freq : freq;
interval : int;
by_day : int list;
by_month_day : int list;
week_start : int;
count : int option;
until : until option;
}
val make : freq -> rule
val occurrences : ?at:int -> rule -> start:Civil.date -> from:Civil.date -> upto:Civil.date -> Civil.date list