This has maybe been said before and given how abstract both this and the recently discussed (https://news.ycombinator.com/item?id=37493955) article are, it feels weird to say they are insufficiently abstract, BUT.. if you check out

https://en.wikipedia.org/wiki/Planck_units

you will see that probably 4-D (say Mass, Length, Duration, and Temperature or MLDT) is a more complete example. Or is it :shifts eyes:? Maybe it's 3, 4, or 7 like SI. Linear algebra by hand gets pretty tough at 4x4 .. 7x7 which operationally (with lack of software tools) probably drives the choice IRL more than anything.

In light of that, both articles are simultaneously mostly general in number of "base physical kinds" but also neglect treating the structure of projecting and inverse projecting (based on a partially known type - often known by variable naming conventions like E=energy) done with the common c=1 & dimensionless trick { projecting into the (Mass,Temp)-(DuraLen) 3-space } or c=hbar=1 "natural" or "particle physics" units. (In PLT-ese this might be thought of as partial type erasure, I suppose.)

Well, Terry's article at least mentions the erasure trade-off of dropping the `c`, but misleads by not mentioning that naming conventions can tell you how to put it back, allowing you to (almost) have your cake & eat it, too. For energy, add a c^2 factor, for momentum a 'c' factor, etc. I think it's a blurring of boundaries of a referred to object and the referring name / syntax of referral which can all kind of cut many ways, but which is very common in both physics and mathematics.

For the programming crowd, knowing what symbols are what sort of relates to IF you are willing to have "implicit" typing in FORTRAN where variables starting with 'i' .. 'n' are INTEGER and starting with the complement are REAL. That might sound like a big "IF", but in math & physics there are often all sorts of typographical conventions (like boldface vectors/capitalized matrices, Roman number classes like R,C,I, Greek & Latin sub/super-scripts, etc.). In a way, the move is really more copying part of the type from the value to the name/syntax or more splitting than erasure. From a certain point of view (with primes, subscript, syntax variants thought of as same-typed array members, not "truly new"), this isn't even that incoherent. Advisable? Harder social questions. https://en.wikipedia.org/wiki/Hungarian_notation notably does not list "suppressing all powers of 'incidental' constants" under Advantages. ;-)

Why this matters? At least 3 reasons.

1) Some physicists actually do this, and not only for fundamental constants which get the most "press coverage".. I had a professor once who (to save on chalkboard RSI / keep derivations less noisy) liked to use units such that the harmonic oscillator sprint constant was ==1 and dimensionless. In my experience, https://en.wikipedia.org/wiki/Natural_units come up at least as much as the mathematically (almost) equivalent Buckingham Pi theorem. All this usually after a flurry of symbol manipulation that might include very little renaming/truly new symbols/things.

2) 0..7 (or whatever) essentially is sort of a measure of how much type checking is happening. Mathematicians love to quantify things { as well as expound upon "almost equivalent" :-) }. I mean, they're vector spaces and transfinite cardinality says (x,y,z) is the "same infinity" as (x,y), but in more practical "finite expressional" senses "meant to be checked", 0 is like Python/Planck and 7 is like Haskell (or some other PL metaphor of your own you prefer). It's definitely a measure of how complex the linear algebra is to do unit system conversion, in regular old computational complexity senses. :) In fact, it might be covered in the "spending symmetry" cross links Terry gives, but if so that was maybe too implicit for me. :) I wouldn't have posted this if I thought it non-neglected. Maybe he needs a "symmetry buy back" article or something about name-referent type-splitting. ;-)

3) Finally, because you are doing type splitting / inverse projection with naming conventions (or other metadata) to pick up slack where your type system is weaker, it touches more on the kind of soundness-of-what-physicists-do unease that people here think Terry might have been worried about. { Only Terry knows for sure! :-) }