The nested dictionary has been in use for a while and produces the required output.  The labelling of the 'canonical unit' to ensure it is distinguished from a unit of measure is an important piece of information, so your alternative dictionary is not consistent.  

I don't think this should be changed, it works fine as it is