anchor.diff:      implements TypeParameterizedElement, ElementImpl {
     int _nestingLevel;
     List<TypeParameterElement> _typeParameterElements;
  -  List<TypeParameterType> _typeParameterTypes;
  -  List<TypeParameterType> _allTypeParameterTypes;
  +  List<DartType> _typeParameterTypes;
  +  List<DartType> _allTypeParameterTypes;
   
     /**
      * Return all type parameter types of the element that encloses element.
      * Not `null`, but might be empty for top-level and static class members.
      */
  -  List<TypeParameterType> get allEnclosingTypeParameterTypes {
  +  List<DartType> get allEnclosingTypeParameterTypes {
       return enclosingTypeParameterContext?.allTypeParameterTypes ??
  -        const <TypeParameterType>[];
  +        const <DartType>[];
     }
   
     /**
      * Return all type parameter types of this element.
      */
  -  List<TypeParameterType> get allTypeParameterTypes {
  +  List<DartType> get allTypeParameterTypes {
       if (_allTypeParameterTypes == null) {
  -      _allTypeParameterTypes = <TypeParameterType>[];
  +      _allTypeParameterTypes = <DartType>[];
         // The most logical order would be (enclosing, this).
         // But we have to have it like this to be consistent with (inconsistent
         // by itself) element builder for generic functions.
  
positive.code:   }
  
    @override
    List<TypeParameterType> get allEnclosingTypeParameterTypes {
      if (isStatic) {
        return const <TypeParameterType>[];
      }
      return super.allEnclosingTypeParameterTypes;
    }
  
negative.code:   }
  
    @override
    List<DartType> get allEnclosingTypeParameterTypes {
      if (isStatic) {
        return const <DartType>[];
      }
      return super.allEnclosingTypeParameterTypes;
    }
  