anchor.diff:  
     void performLayout() {
       if (child != null)
  -      child.layout(childConstraints(constraints));
  +      child.layout(_getInnerConstraints(constraints));
     }
   
     String debugDescribeSettings(String prefix) {
  
positive.code: 
    double getMinIntrinsicWidth(BoxConstraints constraints) {
      if (child != null)
        return child.getMinIntrinsicWidth(_computeChildConstraints(constraints));
      return _computeChildConstraints(constraints).constrainWidth(0.0);
    }
  
    double getMaxIntrinsicWidth(BoxConstraints constraints) {
      if (child != null)
        return child.getMaxIntrinsicWidth(_computeChildConstraints(constraints));
      return _computeChildConstraints(constraints).constrainWidth(0.0);
    }
  
    double getMinIntrinsicHeight(BoxConstraints constraints) {
      if (child != null)
        return child.getMinIntrinsicHeight(_computeChildConstraints(constraints));
      return _computeChildConstraints(constraints).constrainHeight(0.0);
    }
  
    double getMaxIntrinsicHeight(BoxConstraints constraints) {
      if (child != null)
        return child.getMaxIntrinsicHeight(_computeChildConstraints(constraints));
      return _computeChildConstraints(constraints).constrainHeight(0.0);
    }
  
    void performLayout() {
      if (child != null) {
        child.layout(_computeChildConstraints(constraints), parentUsesSize: true);
        size = child.size;
      } else {
        size = _computeChildConstraints(constraints).constrain(Size.zero);
      }
    }
  
  
negative.code:     markNeedsLayout();
    }
  
    BoxConstraints _getInnerConstraints(BoxConstraints constraints) {
      return new BoxConstraints(
        minWidth: _minWidth ?? constraints.minWidth,
        maxWidth: _maxWidth ?? constraints.maxWidth,
  