anchor.diff:    }
   }
   
  -class TextFragment extends SkyElementWrapper {
  +class TextFragment extends OneChildListRenderNodeWrapper {
   
     RenderCSSInline _root;
     RenderCSSInline _createNode() => new RenderCSSInline(this, this.data);
   
     static final TextFragment _emptyText = new TextFragment('');
   
  -  SkyNodeWrapper get _emptyNode => _emptyText;
  +  RenderNodeWrapper get _emptyNode => _emptyText;
   
     final String data;
   
  
positive.code: }
  
  /*
   * SkyNodeWrappers correspond to a desired state of a RenderCSS. They are fully
   * immutable, with one exception: A UINode which is a Component which lives within
   * an SkyElementWrapper's children list, may be replaced with the "old" instance if it
   * has become stateful.
   */
  abstract class SkyNodeWrapper extends UINode {
  
    static final Map<RenderCSS, SkyNodeWrapper> _nodeMap =
        new HashMap<RenderCSS, SkyNodeWrapper>();
  
    static SkyNodeWrapper _getMounted(RenderCSS node) => _nodeMap[node];
  
    SkyNodeWrapper({ Object key }) : super(key: key);
  
    SkyNodeWrapper get _emptyNode;
  
    RenderCSS _createNode();
  
  
negative.code:   }
  }
  
  class Container extends OneChildListRenderNodeWrapper {
  
    RenderCSSContainer _root;
    RenderCSSContainer _createNode() => new RenderCSSContainer(this);
  
    static final Container _emptyContainer = new Container();
  
    RenderNodeWrapper get _emptyNode => _emptyContainer;
  
    Container({
      Object key,
  