anchor.diff:  // for details. All rights reserved. Use of this source code is governed by a
   // BSD-style license that can be found in the LICENSE file.
   
  -// @dart = 2.9
  -
   import 'dart:collection' show HashMap, HashSet, Queue;
   
  +import 'package:collection/collection.dart' show IterableNullableExtension;
   import 'package:kernel/core_types.dart';
   import 'package:kernel/kernel.dart';
   import 'package:kernel/type_environment.dart';
  
positive.code: 
          if (superclasses == null) {
            superclasses = <Class>{};
            void collectSupertypes(Class c) {
              if (!superclasses.add(c)) return;
              var s = c.superclass;
              if (s != null) collectSupertypes(s);
              var m = c.mixedInClass;
              if (m != null) collectSupertypes(m);
            }
  
            collectSupertypes(class_);
            superclasses.remove(class_);
            superclasses.removeWhere((s) => s.enclosingLibrary != library);
          }
  
negative.code:     // If the field was marked non-virtual, we know for sure.
      if (field.isStatic) return false;
  
      var class_ = field.enclosingClass!;
      if (class_.isEnum) {
        // Enums are not extensible.
        return false;
  