ical-recurrence: test that Count takes the chronologically first yearly instances The BYWEEKNO branch of yearlyDayCandidate iterates over the days of the week in Monday-to-Sunday order regardless of the week start, so with WKST=SU it emits Sunday last while Sunday is chronologically first. recurUntil and recurCount both assume the list of occurrences ascends. recurCount then takes the wrong instances, and recurUntil is worse: it returns the empty set at the first element past UNTIL, so one out-of-order day truncates everything after it. The same ordering also mis-numbers BYSETPOS in that branch. monthlyDateTimeRecurrence and weeklyDateTimeRecurrence sort their candidates before use; yearlyDateTimeRecurrence does not. With a week start of Sunday, week 1 of 2021 starts on Sunday the 3rd of January and week 1 of 2022 on Sunday the 2nd, so counting from the Sunday of week 1 of 2021 the next two instances are the Monday after it and the Sunday of week 1 of 2022.