anchor.diff:      var newRoot = vector._root;
       var didAlter = new Bool();
       if (index >= _getTailOffset(vector._size)) {
  -      newTail = _updateVNode(newTail, vector._owner, 0, index, value, didAlter);
  +      newTail = newTail._update(vector._owner, 0, index, value, didAlter);
       } else {
  -      newRoot = _updateVNode(newRoot, vector._owner, vector._level, index, value, didAlter);
  +      newRoot = newRoot._update(vector._owner, vector._level, index, value, didAlter);
       }
       if (!didAlter.value) {
         return vector;
  
positive.code:     }
      return newNode;
    }
  }
  
  _updateVNode(_VNode node, Owner ownerID, int level, int index, value, Bool didAlter) {
    if (node == null) {
      var t = new _VNode([], new Owner());
      return t._update(ownerID, level, index, value, didAlter);
    }
    return node._update(ownerID, level, index, value, didAlter);
  }
  
  _VNode _transientVNode(_VNode node, Owner ownerID) {
  
negative.code:   }
  
    TransientVectorImpl _clear() {
      this._size = 0;
      this._level = _SHIFT;
      this._root = this._tail = null;
      this._hashCode = null;
  