JavaScript: why does changing an argument variable change the `arguments` "array"?
<p>Consider:</p>

<pre><code>&gt; function hello(what) {
.     what = "world";
.     return "Hello, " + arguments[0] + "!";
. }
&gt; hello("shazow")
"Hello, world!"
</code></pre>

<p>Why does changing the value of <code>what</code> change the value of <code>arguments[0]</code>?</p>
