This makes it simpler to determine when two registers are actually the same vs aliasing.
The only real caveat is that there is no longer any record of which 'logical' register it is.
(i.e. parsing assembly and then printing it can result in the register name changing.)
the second template argument for Register can be used to assign AltNames