86a43985

By: Greg Pfeil <greg@technomadic.org>

Extend `CyclicCalendar`

This adds two more primitive operations to `CyciicCalendar`: `cycleLength` and
`ordinal`, which then allows a default implementation of `onOrBefore`.

It also generalizes a number of previously `DayOfWeek`-specific operations to
work for any `CyclicCalendar`.

Suite timing

Time to Start Worker time Duration Time to finish
Config 2s 2s 2s 4s
Eval 4s 4m05s 4m05s 4m09s
Build 1m35s 20m50s 4m59s 6m35s
Test - - - -
Deploy - - - -
Suite 2s 24m58s 6m33s 6m35s

Timeline

0s1m2m3m4m5m6m