title: Shouldn't Promise.all work as the function passed to .then?
body: <p>This code works in Chrome(47), FF(43) and Node.js(4.2.2) :</p>
  
  <pre><code>Promise.resolve()
  .then(function() {
      return new Array(5).fill(Promise.resolve('hello world'));
  })
  .then(function(promisesArr) {
      return Promise.all(promisesArr);
  })
  .then(function(allResults) {
      console.log(allResults);
  }).catch(function(err) {
      console.log('FAILED: ' + err);
  });
  </code></pre>
  
  <p>The second .then however contains a 'useless' anonymous function (calls a single function with the same arguments, returning the result).</p>
  
  <p>As far as I understand, this pattern can and should be replaced by referencing the function itself directly, like so :</p>
  
  <pre><code>Promise.resolve()
  .then(function() {
      return new Array(5).fill(Promise.resolve('hello world'));
  })
  .then(Promise.all)
  .then(function(allResults) {
      console.log(allResults);
  }).catch(function(err) {
      console.log('FAILED: ' + err);
  });
  </code></pre>
  
  <p>However, while this works in FF, it fails in Chrome and (predictably since it is also based on V8) on Node, respectively with:</p>
  
  <blockquote>
    <p>FAILED: TypeError: undefined is not a function</p>
  </blockquote>
  
  <p>and</p>
  
  <blockquote>
    <p>FAILED: TypeError: _runMicrotasks is not a function</p>
  </blockquote>
  
  <p>Am I correct in thinking that this is a bug ? Or is my understanding that the anonymous function can be replaced with a simple reference to the function to be called incorrect ?</p>