anchor.diff:      return defaultComputeDistanceToFirstActualBaseline(baseline);
     }
   
  +  double _childrenHeight;
  +  double get childrenHeight => _childrenHeight;
  +
  +  void markNeedsLayout() {
  +    _childrenHeight = null;
  +    super.markNeedsLayout();
  +  }
  +
     void performLayout() {
       assert(constraints is BoxConstraints);
       double width = constraints.constrainWidth(constraints.maxWidth);
  
positive.code:   }
  
    void paint(PaintingCanvas canvas, Offset offset) {
      if (_hasVisualOverflow) {
        canvas.save();
        canvas.clipRect(offset & size);
      }
      defaultPaint(canvas, offset);
      if (_hasVisualOverflow) {
        canvas.restore();
      }
  
negative.code: 
  class BlockParentData extends BoxParentData with ContainerParentDataMixin<RenderBox> { }
  
  abstract class RenderBlockBase extends RenderBox with ContainerRenderObjectMixin<RenderBox, BlockParentData>,
                                                        RenderBoxContainerDefaultsMixin<RenderBox, BlockParentData> {
  
    // lays out RenderBox children in a vertical stack
    // uses the maximum width provided by the parent
  
    bool _hasVisualOverflow = false;
  
    RenderBlockBase({
      List<RenderBox> children
    }) {
      addAll(children);
  