Why is __caller__ unsafe?
<p>The following seems to be a reasonable use of <code>__caller__</code>:</p>

<pre><code>var foo=1;
function a() {
    var foo=2;
    function b() {
        var foo=3;
        foo; // 3
        this.foo; // 1, from global
        __caller__.foo // 2
    }
    b();
}
a(); // creates a's execution context
</code></pre>

<p>However, <code>__caller__</code> is not available. Why not? If the global context/variable object can be accessed using <code>this</code>, then why not <code>a</code>'s?</p>
