anchor.diff:      var newRoot = vector._root;
       var didAlter = new Bool();
       if (index >= _getTailOffset(vector._size)) {
  -      newTail = _updateVNode(newTail, vector.__ownerID, 0, index, value, didAlter);
  +      newTail = _updateVNode(newTail, vector._owner, 0, index, value, didAlter);
       } else {
  -      newRoot = _updateVNode(newRoot, vector.__ownerID, vector._level, index, value, didAlter);
  +      newRoot = _updateVNode(newRoot, vector._owner, vector._level, index, value, didAlter);
       }
       if (!didAlter.value) {
         return vector;
       }
  -    if (vector.__ownerID != null) {
  +    if (vector._owner != null) {
         vector._root = newRoot;
         vector._tail = newTail;
         vector.__altered = true;
  
positive.code:   BaseVectorImpl _withMutations(fn) {
      var mutable = this._asMutable();
      fn(mutable);
      return mutable.wasAltered() ? mutable._ensureOwner(this.__ownerID) : this;
    }
  
  }
  
negative.code: 
  abstract class BaseVectorImpl<E> extends PersistentVectorBase<E> {
    int _origin;
    Owner _owner;
    _VNode _root;
    _VNode _tail;
    int _level;
  