code: function(idx, amt, objects) {
  
      if (this.isFrozen) throw Ember.FROZEN_ERROR ;
  
      // if we replaced exactly the same number of items, then pass only the
      // replaced range. Otherwise, pass the full remaining array length
      // since everything has shifted
      var len = objects ? get(objects, 'length') : 0;
      this.arrayContentWillChange(idx, amt, len);
  
      if (!objects || objects.length === 0) {
        this.splice(idx, amt) ;
      } else {
        var args = [idx, amt].concat(objects) ;
        this.splice.apply(this,args) ;
      }
  
      this.arrayContentDidChange(idx, amt, len);
      return this ;
    }
docs: primitive for array support.