Just a thought ...
Rather than having units popping up in input fields, why don’t we make a selection of the basic units in preferences and show derived, consistent and fixed units in all dialogues? It would also remove the need for storing units alongside values in dicts.
For example: the user specifies units for length, time, mass, temperature in preferences and the rest follows, eg:
Acceleration: <enter input value> [length_unit / time_unit ^2]
Force: <enter input value> [mass_unit * length-unit / time_unit ^2]
Pressure: <enter input value> [mass_unit / length-unit / time_unit ^2]
Now of course nobody wants to see [Kg*m/s^2] for [N] and see [Kg/m/s^2] for [Pa] -although it is pedantically correct- but that would easily be fixed by an internal translation filter.
Why do I bring this up? Well, I think units remain a continuous source of confusion and debate as evidenced in some posts and in my view there is no scope for confusion with the above classical approach.