title: Function.prototype.apply doesn't work on Function.prototype.call in Chrome
body: <p>The title should be self explanatory, and I wonder if there is a workaround for this.</p>
  
  <pre><code>Window.call.apply;
  &gt;&gt; function apply()
  
  Window.call.apply();
  
  &gt;&gt; Uncaught TypeError: Window.call.apply is not a function
      at &lt;anonymous&gt;:2:13
      at Object.InjectedScript._evaluateOn (&lt;anonymous&gt;:895:140)
      at Object.InjectedScript._evaluateAndWrap (&lt;anonymous&gt;:828:34)
      at Object.InjectedScript.evaluate (&lt;anonymous&gt;:694:21)
  </code></pre>
  
  <p>Basically, I am surprised that <code>apply</code> works on every function except one.</p>
  
  <p>I am writing some higher level VM that needs to call native javascript functions (sadly, <code>Function.prototype.call</code> is one of them), so I need the function <code>apply</code> to be able to pass my this context and array of arguments.</p>
  
  <p><strong>Updated:</strong>
  It seems that this is just some weird error message.
  I found this when I wanted to be able to call a constructor with variable number of arguments and passing <code>this</code> explicitly, which is an object instead of the expected function.</p>
  
  <p>Perhaps below is a more realistic example:</p>
  
  <pre><code>function Fruit(name) {
    this.name = name;
  }
  var x = {};
  Fruit.call(x, "Apple");
  // I thought this would also work, but it throws above error message
  (Fruit.call).apply(x, ["Apple"]);
  // Should instead use the constructor directly
  Fruit.apply(x, ["Apple"]);
  // or
  (Fruit.call).apply(someFunction, [x, "Apple"]);
  </code></pre>