That's a fair question, which I did ponder before posting. Once this PR is merged user code will start to emit warnings asking people to shift to using datetimes. As it stands the choice is: put up with the warnings, or put up with a dramatic loss of performance. That's not really a suitable state to leave the master branch in. (Also, the optimisation only seemed to require a couple of extra lines.)

I don't think it's as critical to optimise the behaviour of PartialDateTime since that's new functionality.