Fold operator<<
https://github.com/nholthaus/units/blob/1a3164e1905744b3b78466438dccdc00e3f1dadb/include/units/core.h#L190-L218
This can be done away with if, at https://github.com/nholthaus/units/blob/1a3164e1905744b3b78466438dccdc00e3f1dadb/include/units/core.h#L2532-L2550
unit_abbreviation_v is used. Then there'd be ~5 operator<<s in the library, rather than 5 + 1 per unit.
The only thing I want to double check is that I think that function's purpose was to boil down undefined ephemeral units to their base type and print that, and it may not work quite right for derived units.
Right. I was just thinking of leaving that alone and using if constexpr branch for when the unit has an abbreviation.