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