anchor.diff:  const double _kFloatingActionButtonMargin = 16.0; // TODO(hmuller): should be device dependent
   const Duration _kFloatingActionButtonSegue = const Duration(milliseconds: 400);
   
  -enum _Child {
  +enum _ScaffoldSlot {
     body,
     toolBar,
     bottomSheet,
  
positive.code:     }
  
      final List<LayoutId>children = new List<LayoutId>();
      _addIfNonNull(children, materialBody, _Child.body);
      _addIfNonNull(children, _modifiedToolBar, _Child.toolBar);
  
      if (_currentBottomSheet != null ||
          (_dismissedBottomSheets != null && _dismissedBottomSheets.isNotEmpty)) {
  
negative.code:     final BoxConstraints fullWidthConstraints = looseConstraints.tighten(width: size.width);
      Size toolBarSize = Size.zero;
  
      if (isChild(_ScaffoldSlot.toolBar)) {
        toolBarSize = layoutChild(_ScaffoldSlot.toolBar, fullWidthConstraints);
        positionChild(_ScaffoldSlot.toolBar, Offset.zero);
      }
  
      if (isChild(_ScaffoldSlot.body)) {
        final double bodyHeight = size.height - toolBarSize.height;
        final BoxConstraints bodyConstraints = fullWidthConstraints.tighten(height: bodyHeight);
        layoutChild(_ScaffoldSlot.body, bodyConstraints);
        positionChild(_ScaffoldSlot.body, new Offset(0.0, toolBarSize.height));
      }
  
      // The BottomSheet and the SnackBar are anchored to the bottom of the parent,
  