Similar idea to Pablos approach, similar drawbacks. It can be used First patch is to make it easier to later on handle concatenations, maps and the like -- it will retain the proper length so you can have maps that e.g. return 'ct helper' or 'osf name' values. Don't know yet when I can work on this again, I will comment on Pablos patch set soon.