code: function getNumDaysMonthYear(month, year) {
    // If a parameter you specify is outside of the expected range for Month or Day,
    // JS Date attempts to update the date information in the Date object accordingly!
    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth
    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate
  
    // Let Date handle the overflow of the month,
    // which should return the normalized month and year.
    const normalizedMonthYear = new Date(year, month, 1);
    month = normalizedMonthYear.getMonth();
    year = normalizedMonthYear.getFullYear();
    // Overflow the date to the next month, then subtract the difference
    // to get the number of days in the previous month.
    // This will also account for leap years!
    const daysInMonth = 32 - new Date(year, month, 32).getDate();
    return { daysInMonth, month, year };
  }
docs: Normalizes month (could be overflow) and year pairs and returns the
  normalized month and year along with the number of days in the month.
  @param {Number} month The month to normalize
  @param {Number} year The year to normalize
  @returns {Object} The normalized month and year along with the number of days in the month