title: Under what condition would Array.observe's "add" event trigger?
body: <p>I'm learning about observing Array objects. I found the following surprising:</p>
  
  <pre><code>var fooArray = [];
  Array.observe(fooArray, function(changes){
      console.log('changes:', changes[0].type);
  });
  fooArray.push({});
  </code></pre>
  
  <p>results in the type of change being <code>splice</code> and not <code>add</code></p>
  
  <p>What methods would result in a change event of type <code>add</code>? It would seem to me that pushing a single value on it would be the most likely scenario.</p>