anchor.diff:      }
     }
   
  -  void _syncNode([Element old]) {
  -    if (old == null) {
  -      old = _emptyElement;
  -    }
  -
  -    _syncEvents(old);
  -
  +  bool _syncNode(Node old) {
  +    super._syncNode(old);
  +
  +    Element oldElement = old as Element;
       sky.Element root = _root as sky.Element;
  -    if (_class != old._class) {
  +
  +    _syncEvents(oldElement);
  +
  +    if (_class != oldElement._class)
         root.setAttribute('class', _class);
  -    }
  -
  -    if (inlineStyle != old.inlineStyle) {
  +
  +    if (inlineStyle != oldElement.inlineStyle)
         root.setAttribute('style', inlineStyle);
  -    }
  -  }
  -
  -  bool _sync(Node old, sky.ParentNode host, sky.Node insertBefore) {
  +
  +    _syncChildren(oldElement);
  +
  +    return false;
  +  }
  +
  +  void _syncChildren(Element oldElement) {
       // print("---Syncing children of $_key");
  -
  -    Element oldElement = old as Element;
  -
  -    if (oldElement == null) {
  -      // print("...no oldElement, initial build");
  -
  -      _root = sky.document.createElement(_tagName);
  -      _parentInsertBefore(host, _root, insertBefore);
  -      _syncNode();
  -
  -      for (var child in _children) {
  -        child._sync(null, _root, null);
  -        assert(child._root is sky.Node);
  -      }
  -
  -      return false;
  -    }
  -
  -    if (this == oldElement)
  -      return false;
  -
  -    _root = oldElement._root;
  -    oldElement._root = null;
  -    sky.Element root = (_root as sky.Element);
  -
  -    _syncNode(oldElement);
  +    sky.Element root = _root as sky.Element;
  +    assert(root != null);
   
       var startIndex = 0;
       var endIndex = _children.length;
  
positive.code: 
    String get _tagName;
  
    Element get _emptyElement;
  
    String inlineStyle;
  
    List<Node> _children = null;
    String _class = '';
  
    Element({
      Object key,
      List<Node> children,
      Style style,
  
      this.inlineStyle
    }) : super(key:key) {
      _class = style == null ? '' : style._className;
      _children = children == null ? _emptyList : children;
  
      if (_isInCheckedMode) {
        _debugReportDuplicateIds();
      }
    }
  
    void _remove() {
      super._remove();
      if (_children != null) {
        for (var child in _children) {
          child._remove();
        }
      }
      _children = null;
    }
  
    void _debugReportDuplicateIds() {
  
negative.code:     inlineStyle: inlineStyle
    );
  
    bool _syncNode(Node old) {
      super._syncNode(old);
  
      Anchor oldAnchor = old as Anchor;
      sky.HTMLAnchorElement skyAnchor = _root as sky.HTMLAnchorElement;
  
      if (href != oldAnchor.href)
        skyAnchor.href = href;
  
      return false;
    }
  }
  
  