Well, I don't think that making separate variables at this point of the compilation is too ugly (FTR, [this](https://gitlab.winehq.org/fcasas/vkd3d/-/commit/50c5816af8a7370bf0851943855a...) is my current implementation).
Yeah, I don't dislike it either, it's pretty straightforward. [Although it's missing CF handling and should probably use transform_ir().]
But it is not that we can't implement a function to iterate the type for recovering it from the offset, or, with a lot more work, making path derefs reach this part of the code.
Ultimately I think we want the latter anyway, yeah.
I will give it more thought, since I don't have a strong preference for either option yet. Perhaps we should discuss it once we reach that patch and not in this MR, though.
Sure, I just figured I'd share my thoughts since it came up.