I'm pretty sure that this won't work right now because we don't reason about the activation that a NewFunction* operation references. But we totally should do this. This would be a poor man's way of doing single-and-loving-it analysis: http://www.cs.purdue.edu/homes/suresh/papers/popl98.ps.gz
One outcome of this is that it would allow us to get rid of more TDZ checks, since we could reason about the TDZ locally.