Well, 'backtracking' in the sense that I've decided to backtrack off my original goal of making it relocatable. I didn't want a dependency on Bermuda, but now it looks like I'll have one. I found myself backed into a corner writing recursive code which, in turn, had to write recursive code. I could feel the folds in my brain flattening out as I stared at the resulting, unmanageable mess.
I can already see a slight performance hit with not auto-generating code, but that's a side issue. The new code is much easier to read and work with. It's a win in my book.