title: Why does ES6's Map.forEach iterate with 'value, key' instead of 'key, value'?
body: <p>As shown on <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach" rel="noreferrer">MDN</a>, <code>Map</code>'s <code>forEach</code> callback is called with value first, and then key. E.g.:</p>
  
  <p><code>map.forEach(function(value, key, map) { ... })</code></p>
  
  <p>Seems like <code>key, value</code> is a lot more common than <code>value, key</code>. Even the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map" rel="noreferrer"><code>Map</code> constructor</a> expects an array of <code>[key, value]</code> pairs.</p>