actually, the thing i don't understand is why nested procedures required putting code on the stack. i've implemented them a few times, even with closures, and i didn't need to do that. where did i do wrong? perhaps it was just a display of technical prowess, or does gcc also not do that, really.