>But this technique works only so long as the containing function (hack, in this example) does not exit.