Phil, by sheer coincidence, Doug Coleman (erg) implemented something similar in extra/interpolate. He's using it to construct SQL stored procedures, IIRC. Perhaps you could look at his code for ideas, or merge your efforts? On a related note, I'd love to have your work (possibly after refactoring it to use 'interpolate') in the repository under basis/html/templates/simple, or something like that. Having more options for templating is always good.