I thought I had replied again to this thread, but it seems by reply got lost somehow. Annoying.
Anyway, if @fcasas is willing to keep steering this, I would suggest him to rework his proposal according to the criteria that were discussed. Even before, since also some type definition refactoring was suggested, maybe that could be an even earlier step (like refactoring `struct hlsl_type`, precomputing the name, renaming `type` and `base_type` together with their enums, something else?).