Type restriction on UnitRange

Because it is a “unit range” and you specified the units?

That’s just a naming thing. Here we’re using unit in the sense of 1, and I know you’d agree that 1m != 1. We could change the name if you think that would help.