This is a year-month-weekday method for the calendar_start() and
calendar_end() generics. They adjust components of a calendar to the
start or end of a specified precision.
This method is restricted to only "year" and "month" precisions, and
x can't be more precise than month precision. Computing the "start" of
a day precision year-month-weekday object isn't defined because
a year-month-weekday with day = 1, index = 1 doesn't necessarily occur
earlier (chronologically) than day = 2, index = 1. Because of these
restrictions, this method isn't particularly useful, but is included for
completeness.