[ ] When looping through all months in a year, use monthsInYear as the upper bound instead of assuming that every year has 12 months.
[ ] Days in a month are not always continuous. There can be gaps due to political changes in calendars and/or time zones. For this reason, instead of looping through a month from 1 to date.daysInMonth, it's better to start a loop with the first day of the month (.with({day: 1})) and add one day at a time until the month property returns a different value.
https://tc39.es/proposal-temporal/docs/calendar.html#writing-cross-calendar-code
Is that all?