anchor.diff:  
     Map<String, Reference>? _children;
   
  -  /// If this reference is an import prefix, the scope of this prefix.
  -  Scope? prefixScope;
  -
     Reference.root() : this._(null, '');
   
     Reference._(this.parent, this.name);
   
     Iterable<Reference> get children {
  -    if (_children != null) {
  -      return _children!.values;
  -    }
  -    return const [];
  +    return _children?.values ?? const [];
     }
   
  -  bool get isLibrary => parent != null && parent!.isRoot;
  +  bool get isLibrary => parent?.isRoot == true;
   
  -  bool get isPrefix => parent != null && parent!.name == '@prefix';
  +  bool get isPrefix => parent?.name == '@prefix';
   
     bool get isRoot => parent == null;
   
  -  bool get isSetter => parent != null && parent!.name == '@setter';
  +  bool get isSetter => parent?.name == '@setter';
   
     /// Return the child with the given name, or `null` if does not exist.
     Reference? operator [](String name) {
  -    return _children != null ? _children![name] : null;
  +    return _children?[name];
     }
   
     /// Return the child with the given name, create if does not exist yet.
  
positive.code:   }
  
    void removeChild(String name) {
      _children!.remove(name);
    }
  
    @override
  
negative.code: // BSD-style license that can be found in the LICENSE file.
  
  import 'package:analyzer/dart/element/element.dart';
  
  /// Indirection between a name and the corresponding [Element].
  ///
  