anchor.diff:    int _bitmap;
     List<_ANodeBase<K, V>> _array;
   
  -  _SubMap.abc(_Owner owner, this._bitmap, this._array, int size) : super(owner, size, false);
  +  _SubMap.abc(_Owner owner, this._bitmap, this._array, int size) : super(owner, size);
   
     factory _SubMap.ensureOwner(_SubMap old, _Owner owner, bitmap, array, int size) {
       if(_ownerEquals(owner, old._owner)) {
  
positive.code:       return new _SubMap<K, V>.ensureOwner(this, owner, newMask, newarray, newSize);
      } else if (newarray.length == 1) {
        _ANodeBase<K, V> onlyValueLeft = newarray[0];
        return onlyValueLeft._isLeaf
            ? onlyValueLeft
            : new _SubMap<K, V>.ensureOwner(this, owner, newMask, newarray, newSize);
      } else {
  
negative.code:           assert(_array.length == 2);
            assert(index == 0 || index == 1);
            _ANodeBase<K, V> onlyValueLeft = _array[1 - index];
            return (onlyValueLeft is _Leaf)
                ? onlyValueLeft
                : new _SubMap.ensureOwner(this, owner, _bitmap ^ mask,
                              <_ANodeBase<K, V>>[onlyValueLeft],
                              length + delta);
          }
        } else if (newm is _Leaf){
          if (_array.length == 1) {
            return newm;
          } else {
  