Thanks for the writeup -- I didn't know canonical types were a @Douglas_Gregor invention
Minor nitpick though:
I can't imagine that adding or removing a sugared type should have ABI impact -- mangling uses canonical types only. Or do you mean if we changed
(T) to be a different type than
T? That would be major breaking and quite odd from a language standpoint, I agree.