title: Underscore behavior with Bind
body: <p>Reading through the source at:
  <a href="http://documentcloud.github.com/underscore/underscore.js">http://documentcloud.github.com/underscore/underscore.js</a></p>
  
  <p>This is the _bind method so frequently used (I've removed the native check for clarity)</p>
  
  <pre><code>   _.bind = function(func, obj) {
      var args = slice.call(arguments, 2);
      return function() {
        return func.apply(obj, args.concat(slice.call(arguments)));
      };
    };
  </code></pre>
  
  <p>The args that get passed func.apply seems unnecessarily duplicated at the end</p>
  
  <p>An example using Node interpreter (remove last line to try in Firebug etc..)</p>
  
  <pre><code>var arguments = [1,2,3,4,5,6];
  var args = Array.prototype.slice.call(arguments, 2);
  var appliedArgs = args.concat(Array.prototype.slice.call(arguments));
  require('sys').puts(appliedArgs);
  </code></pre>
  
  <p>This outputs:</p>
  
  <pre><code>3,4,5,6,1,2,3,4,5,6
  </code></pre>
  
  <p>I highly doubt I've found a bug but confused as to why its working this way, why append the args again in such fashion. Confused</p>