ical-recurrence: test that a monthly BySetPos does not depend on the limit The limit is an implementation detail of this library, not part of the recurrence rule, so it must only cut off results. It must not change which instance BYSETPOS selects. monthlyDateTimeRecurrence has its 'd <= limit' guard inside the list that filterSetPos numbers, so in the month that straddles the limit the candidate set is truncated and BYSETPOS picks from the truncated set. weeklyDateTimeRecurrence and yearlyDateTimeRecurrence have the same problem; dailyDateTimeRecurrence does not, because there filterSetPos only ever spans the times within one day. The last week day of February 2020 is the 28th, which lies beyond a limit of the 20th, so the recurrence set up to that limit contains no instance in February at all.