anchor.diff:      print(buffer);
     }
   
  +  void _traceSync(_SyncOperation op, String key) {
  +    if (!_shouldTrace)
  +      return;
  +
  +    String opString = op.toString().toLowerCase();
  +    String outString = opString.substring(opString.indexOf('.') + 1);
  +    _trace('_sync($outString) $key');
  +  }
  +
     void _removeChild(Node node) {
  -    _trace('_sync(remove) ${node._key}');
  +    _traceSync(_SyncOperation.REMOVAL, node._key);
       node._remove();
     }
   
  
positive.code:     assert(_root != null);
      _removeChild(_built);
      _built = null;
      _unmountedComponents.add(this);
      super._remove();
    }
  
  
negative.code:     assert(oldNode == null || node._key == oldNode._key);
  
      if (node == oldNode) {
        _traceSync(_SyncOperation.IDENTICAL, node._key);
        return node; // Nothing to do. Subtrees must be identical.
      }
  
  