anchor.diff:    }
   
     bool remove(Object value) {
  +    // Throws an error ( see http://goo.gl/QPxa1 )
       if (_list.remove(value)) {
         _onRemoveController.add(value);
         return true;
  
positive.code:   }
    
    void insertRange(int start, int length, [E fill]) => throw new UnsupportedError("");
  
    E operator [](int index) => _list[index];
    
  
negative.code:     }
    }
    
    void setAll(int index, Iterable<E> iterable) {
      final oldValues = _list.getRange(index, index + iterable.length - 1).toList(growable:false);
      _list.setAll(index, iterable);
      for (var i = 0; i < oldValues.length; i++) {
        _onUpdateController.add(new ListUpdateEvent(oldValues.elementAt(i), iterable.elementAt(i)));
      }
    } 
  
    
    void removeRange(int start, int length) {
      final elements = sublist(start,length);
      _list.removeRange(start, length);
  