anchor.diff:    factory PersistentVectorImpl.empty() => new PersistentVectorImpl._prototype();
     PersistentVectorImpl._prototype() : super._prototype();
   
  -  factory PersistentVectorImpl._make(int origin, int size, int level, VNode root, VNode tail) {
  +  factory PersistentVectorImpl._make(int origin, int size, int level, _VNode root, _VNode tail) {
       var x = new PersistentVectorImpl._prototype();
       x._origin = origin;
       x._size = size;
  
positive.code:   _ensureOwner(ownerID) {
      if (ownerID != null && ownerID == _ownerID)
        return this;
      return new VNode(_array.sublist(0), ownerID);
    }
  
    VNode _update(ownerID, level, index, value, Bool didAlter) {
      var deleted = value == _NOT_SET;
      var node = this;
      var newNode;
  
negative.code:     return "VNode: " + _array.toString();
    }
  
    _VNode(this._array, this._ownerID);
  
    void _set(int index, value) {
      if (_array.length > index) {
  