Actually, I was mistaken. Quantity
does reorder units. I'm talking about the raw expression, not the display boxes form, (we already agreed the display form does reorder). Not sure why I didn't notice this before, but as I look at it now, it's what I would expect, since an expression like "kN" "m"
is really just a Times
expression.
By the way, that doesn't really contradict with the statement that Quantity
has the HoldRest
attribute. HoldRest
just means that the arguments will be passed to Quantity
unevaluated, but that doesn't mean that Quantity
can't do its own evaluation/manipulation. It's not immediately obvious to me why Quantity
needs the HoldRest
attribute, but whatever.
One more slight nit. The response from Wolfram said: "Quantity ... ordering system ... is strictly alphabetical." I think that's confusing, since it describes the raw expression, not the display form. Consider the following:

So, in the raw expression, units are alphabetized, but that's probably just a result of the behavior of Times
. In the display object, m
comes before kN
, which does not seem alphabetized. So, the display object is deliberately imposing an ordering based on something other than simple alphabetic order. Not sure if this matters at all in terms of any plans Wolfram might have for affording presentation flexibility with regard to units, but there might have been a slight miscommunication.