cursor : id, CalendarDate, U64, ZoneRules -> Try(Cursor(id), [InvalidDuration, OutOfRange, OutsideValidity, ..])
Constant calendar work; zone interpretation is deferred to the cursor. Both the source and exclusive end must fit the source calendar and rules.