anchor.diff:  
     void removeRange(int start, int end) {
       RangeError.checkValidRange(start, end, this.length);
  -    int length = end - start;
  -    setRange(start, this.length - length, this, end);
  -    this.length -= length;
  +    if (end > start) {
  +      _closeGap(start, end);
  +    }
     }
   
     void fillRange(int start, int end, [E fill]) {
  
positive.code: 
    E removeAt(int index) {
      E result = this[index];
      setRange(index, this.length - 1, this, index + 1);
      length--;
      return result;
    }
  
  
negative.code:   bool remove(Object element) {
      for (int i = 0; i < this.length; i++) {
        if (this[i] == element) {
          this._closeGap(i, i + 1);
          return true;
        }
      }
      return false;
    }
  
    /// Removes elements from the list starting at [start] up to but not including
    /// [end].  Arguments are pre-validated.
    void _closeGap(int start, int end) {
      int length = this.length;
      assert(0 <= start);
      assert(start < end);
      assert(end <= length);
      int size = end - start;
      for (int i = end; i < length; i++) {
        this[i - size] = this[i];
      }
      this.length = length - size;
    }
  
    void removeWhere(bool test(E element)) {
  