anchor.diff:            }
             max = _extentDelegate.layoutOffset(possibleFirstIndex);
           }
  +        assert(max >= 0.0);
           geometry = SliverGeometry(
             scrollExtent: _extentDelegate.layoutOffset(_extentDelegate.length),
             maxPaintExtent: max,
  
positive.code:   @override
    int get length => _offsets.length - 1;
  
    final double Function(int index) computeExtent;
    final int Function() computeLength;
  
    @override
    void recompute() {
  
negative.code:     assert(_offsets[index] < endScrollOffset);
      return index;
    }
  }
  
  class FixedExtentDelegate extends FixedExtentDelegateBase {
    FixedExtentDelegate({
      @required double Function(int index) computeExtent,
      @required int Function() computeLength,
    })  : _computeExtent = computeExtent,
          _computeLength = computeLength {
      recompute();
    }
  
    final double Function(int index) _computeExtent;
    final int Function() _computeLength;
  
    @override
    double computeExtent(int index) => _computeExtent(index);
  
    @override
    int computeLength() => _computeLength();
  }
  
  /// A scrollable list of widgets arranged linearly where each item has an extent
  