This one makes sense in the real world, so I suppose an advanced type system allows the programmer to specify what operations are legit or not across different types.
One could imagine systems for that, but units of measure doesn't do any customization of different operations. It's just unit checking for for arithmetic, like in high-school math.