anchor.diff:            assert(_array.length == 2);
             assert(index == 0 || index == 1);
             _ANodeBase<K, V> onlyValueLeft = _array[1 - index];
  -          return onlyValueLeft._isLeaf
  +          return (onlyValueLeft is _Leaf)
                 ? onlyValueLeft
                 : new _SubMap.ensureOwner(this, owner, _bitmap ^ mask,
                               <_ANodeBase<K, V>>[onlyValueLeft],
                               length + delta);
           }
  -      } else if (newm._isLeaf){
  +      } else if (newm is _Leaf){
           if (_array.length == 1) {
             return newm;
           } else {
  
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: abstract class _ANodeBase<K, V> extends _NodeBase<K, V> {
    _Owner _owner;
  
    _ANodeBase(this._owner, length) : super(length);
  
    V _get(K key, int hash, int depth);
    _NodeBase<K, V> _insertWith(_Owner owner, LinkedList<Pair<K, V>> keyValues, int size,
  