I think that is due to insufficient imaginativeness. For example, energy and work are the same units but energy is an absolute quantity while work is a delta. So arguably work should be a sort of tangent element of the energy, rather than the same thing. There's no distinction in flat space but if you e.g. changed coordinates such that energy was on the surface of a sphere, then work is a spherical displacement instead, which is a totally different class of objects.
Likewise, torque is only in the same units because we don't regard radians as a unit, but we should. They are distinctly different.
Radians can be seen as a ratio of two lengths, the length of your arc and the length of the circumference of the unit circle. All units cancel in such ratios.
> There's no distinction in flat space but if you e.g. changed units such that energy was on the surface of a sphere, then work is a spherical displacement instead, which is a totally different class of objects.
Basically, how much you _want_ to encode in your type system depends on the needs of your application. (Approximately all type systems can be made to work for all applications. But they differ in the degree of convenience and error proneness.)