static LongRange dateStructureToTimestampRange(DateStructures.SomeDate d, long now, bool assumeFuture) { delegate Day to DateStructures. delegate Month to DateStructures. delegate Year to DateStructures. delegate CurrentWeekPlus to DateStructures. delegate CurrentYearPlus to DateStructures. delegate Weekday to DateStructures. delegate TodayPlus to DateStructures. if (d cast CurrentYearPlus) d = new Year(year(now) + d.nYears); if (d cast Year) ret longRange(yearToTimestamp(d.year), yearToTimestamp(d.year+1)); fail("dateStructureToTimestampRange: unknown type" + d); }