docs: function(removing, adding) {
  
          var removeCnt, addCnt, hasDelta;
  
          if ('number' === typeof removing) removeCnt = removing;
          else if (removing) removeCnt = get(removing, 'length');
          else removeCnt = removing = -1;
  
          if ('number' === typeof adding) addCnt = adding;
          else if (adding) addCnt = get(adding,'length');
          else addCnt = adding = -1;
  
          hasDelta = addCnt<0 || removeCnt<0 || addCnt-removeCnt!==0;
  
          if (removing === -1) removing = null;
          if (adding   === -1) adding   = null;
  
          propertyWillChange(this, '[]');
          if (hasDelta) propertyWillChange(this, 'length');
          sendEvent(this, '@enumerable:before', [this, removing, adding]);
  
          return this;
        }