title: ES6 rest parameter not working with babel
body: <p>I am using an ES6 rest parameter in the simplest possible way:</p>
  
  <pre><code>function func(a, ...b) {
    for (var i = 0; i &lt; b.length; i += 2) {
      console.log(b[i], b[i + 1]);
    }
  } 
  </code></pre>
  
  <p>I've installed <code>babel-preset-es2015</code>, and my <code>.babelrc</code> file simply has: </p>
  
  <pre><code>{
    "presets": ["es2015"]
  }
  </code></pre>
  
  <p>Strangely, the resulting output is:</p>
  
  <pre><code>"use strict";
  
  function func(a) {
    for (var i = 0; i &lt; arguments.length; i += 2) {
      console.log(arguments[i], arguments[i + 1]);
    }
  }
  </code></pre>
  
  <p>I filed a bug at <a href="https://phabricator.babeljs.io/T7000" rel="nofollow">https://phabricator.babeljs.io/T7000</a>, but I'm extremely concerned since this is the second time I've had really basic ES6 transpile incorrectly using Babel 6. Is my setup broken? Is Babel 6 documented somewhere as unstable/alpha? Or is this highly popular module really just that bad? Are there any alternate ES6 transpilers out there written with compiler-grade rigor and comprehensive test suites that would be safe to use?</p>