anchor.diff:  
     E get first {
       for (int offset = 0; offset < _usedData; offset++) {
  -      Object current = _data[offset];
  +      Object? current = _data[offset];
         if (!_HashBase._isDeleted(_data, current)) {
           return current as E;
         }
  
positive.code: 
    E get last {
      for (int offset = _usedData - 1; offset >= 0; offset--) {
        Object current = _data[offset];
        if (!_HashBase._isDeleted(_data, current)) {
          return current as E;
        }
  
negative.code:   static int _nextProbe(int i, int sizeMask) => (i + 1) & sizeMask;
  
    // A self-loop is used to mark a deleted key or value.
    static bool _isDeleted(List data, Object? keyOrValue) =>
        identical(keyOrValue, data);
    static void _setDeletedAt(List data, int d) {
      data[d] = data;
  