WeekdayRelative
data class WeekdayRelative(val month: Month, val day: Int, val dayOfWeek: DayOfWeek, val after: Boolean) : HolidayDate
The first dayOfWeek strictly after (after = true) or strictly before (after = false) month/day, e.g. German Repentance Day is the Wednesday before 23 November.