Hi Kip, my concern with this PR is that it opens up the path for "duplicating" several of the functions in the Date module:
Date.iso_beginning_of_month/1
Date.iso_beginning_of_week/2
Date.iso_day_of_era/1
Date.iso_day_of_week/1
Date.iso_day_of_year/1
Date.iso_days_in_month/1
Date.iso_end_of_month/1
Date.iso_end_of_week/2
Date.iso_months_in_year/1
Date.iso_quarter_of_year/1
Date.iso_year_of_era/1
Perhaps not all of the above but at least a few.
Also, in your case, couldn't you support a custom starting_on value called :iso_default or :monday, which will behave as you described?
So your :default can adhere to your custom calendar semantics, and then either :monday or :iso_default returns what the computation above would provide.