anchor.diff:      assert(child != null);
       assert(child.parentData != null);
       child.parentData.detach();
  -    if (child._relayoutSubtreeRoot != child) {
  -      child._relayoutSubtreeRoot = null;
  -      child._needsLayout = true;
  -    }
  +    child._cleanRelayoutSubtreeRoot();
       super.dropChild(child);
       markNeedsLayout();
     }
  
positive.code:       scheduler.ensureVisualUpdate();
      }
    }
    void scheduleInitialLayout() {
      assert(attached);
      assert(parent == null);
  
negative.code:       child = child.parentData.nextSibling;
      }
    }
    void _cleanRelayoutSubtreeRootChildren() {
      ChildType child = _firstChild;
      while (child != null) {
        child._cleanRelayoutSubtreeRoot();
        assert(child.parentData is ParentDataType);
        child = child.parentData.nextSibling;
      }
    }
  
    ChildType get firstChild => _firstChild;
    ChildType get lastChild => _lastChild;
  