Don't instaevaluate generated body_ functions.

Instead, place them into the context and attempt to render their containing block.

Closes #512.
Comment makes sense, I think we should open an feature issue on it. I can see how it could make things a lot less fragile, especially because I'm basically poor-man's-classing these functions already.