title: Accessing arguments collection in bind function
body: <p>When returning <code>.bind()</code> from a higher order function, is it possible to access the <code>arguments</code> collection within the bound context?</p>
  
  <p>Take the following function as an example:</p>
  
  <pre><code>function reverse(fn) {
       return function ()  { 
          return fn.apply(this, [].slice.call(arguments).reverse()) 
       };
  }
  </code></pre>
  
  <p>Ideally I'd like to remove the inner function wrapper and simply return something like:</p>
  
  <p><code>return fn.apply.bind(fn, [].slice.call(arguments).reverse());</code></p>
  
  <p>(Obviously <code>arguments</code> is scoped to the outer function and not the returned function, which is what I'm after).</p>
  
  <p>Is this possible through some mechanism I'm unaware of or is the function wrapper a necessity?</p>