I will address further comments to the patch in subsequent changes.
Andrew, if you have some time, could you see if you can recreate that LTO aliasing failure you were describing earlier?
I may change the data structure again, but it would still be interesting to have a test for it.
Thanks. Diego.