There is another calculation we can do for `mdays` instead of the lookup, but it will be a little slower. I thought this was safe enough though since it's only used in the `Date` and `Datetime` constructors where we explicitly check that `m` is in range and `dayofyear` where it's used like `dayofyear(dt::TimeType) = _days(dt) - totaldays(year(dt),1,1) + 1`. Let me know though if you want to change, I think the other `mdays` calc is something along the lines of `mdays = (153*M-457)\5` where `M = m < 3 ? m + 12 : m`.