anchor.diff:      assert(newNode != null);
       assert(runtimeType == newNode.runtimeType);
       assert(key == newNode.key);
  -    assert(_built != null);
  +    assert(_child != null);
       newNode._disqualifiedFromEverAppearingAgain = true;
   
  -    newNode._built = _built;
  -    _built = null;
  +    newNode._child = _child;
  +    _child = null;
       _dirty = true;
   
       return true;
  
positive.code: 
    // There are three cases here:
    // 1) Building for the first time:
    //      assert(_built == null && old == null)
    // 2) Re-building (because a dirty flag got set):
    //      assert(_built != null && old == null)
    // 3) Syncing against an old version
    //      assert(_built == null && old != null)
    void _sync(Component old, dynamic slot) {
      assert(_built == null || old == null);
  
      updateSlot(slot);
  
      var oldBuilt;
      if (old == null) {
        oldBuilt = _built;
      } else {
        assert(_built == null);
        oldBuilt = old._built;
      }
  
      _isBuilding = true;
  
      int lastOrder = _currentOrder;
      _currentOrder = _order;
      _built = build();
      _currentOrder = lastOrder;
      assert(_built != null);
      _built = syncChild(_built, oldBuilt, slot);
      assert(_built != null);
      assert(_built.parent == this);
      _isBuilding = false;
  
      _dirty = false;
      _renderObject = _built.renderObject;
      assert(_renderObject == renderObject); // in case a subclass reintroduces it
      assert(renderObject != null);
    }
  
negative.code: 
    bool _dirty = true;
  
    Widget _child;
    dynamic _slot; // cached slot from the last time we were synced
  
    void updateSlot(dynamic newSlot) {
      _slot = newSlot;
      if (_child != null)
        _child.updateSlot(newSlot);
    }
  
    void walkChildren(WidgetTreeWalker walker) {
      if (_child != null)
        walker(_child);
    }
  
    void remove() {
      assert(_child != null);
      assert(renderObject != null);
      super.remove();
      _child = null;
    }
  
    void detachRenderObject() {
      assert(_child != null);
      assert(renderObject != null);
      _child.detachRenderObject();
    }
  
    void dependenciesChanged() {
  