anchor.diff:  
     /// Return extensions for the [type] that match the given [name] in the
     /// current scope.
  -  List<InstantiatedExtension> _getApplicable(
  +  List<_InstantiatedExtension> _getApplicable(
         DartType type, String name, ElementKind kind) {
       var candidates = _getExtensionsWithMember(name, kind);
   
  -    var instantiatedExtensions = <InstantiatedExtension>[];
  +    var instantiatedExtensions = <_InstantiatedExtension>[];
       for (var candidate in candidates) {
         var typeParameters = candidate.extension.typeParameters;
         var inferrer = GenericInferrer(
  
positive.code:   }
  }
  
  class InstantiatedExtension {
    final ExtensionElement element;
    final DartType _extendedType;
    final ExecutableElement instantiatedMember;
  
    InstantiatedExtension(
      this.element,
      this._extendedType,
      this.instantiatedMember,
    );
  }
  
  class _CandidateExtension {
    final ExtensionElement extension;
    final ExecutableElement member;
  
    _CandidateExtension(this.extension, this.member);
  }
  
negative.code:     ).substituteType(extension.extendedType);
    }
  
    bool _isMoreSpecific(_InstantiatedExtension e1, _InstantiatedExtension e2) {
      var t10 = e1.element.extendedType;
      var t20 = e2.element.extendedType;
      var t11 = e1._extendedType;
  