anchor.diff:  import 'package:analyzer/error/listener.dart';
   import 'package:analyzer/src/dart/ast/extensions.dart';
   import 'package:analyzer/src/dart/element/type_algebra.dart';
  -import 'package:analyzer/src/dart/element/type_schema.dart';
   import 'package:analyzer/src/dart/element/type_system.dart';
   import 'package:analyzer/src/diagnostic/diagnostic.dart';
   import 'package:analyzer/src/error/codes.dart';
   import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
  -import 'package:analyzer/src/generated/resolver.dart';
   
   class TypeArgumentsVerifier {
     final AnalysisOptionsImpl _options;
  
positive.code:       return;
      }
      var type = node.typeOrThrow;
      if (_isMissingTypeArguments(node, type, node.name.staticElement, null)) {
        AstNode unwrappedParent = parentEscapingTypeArguments(node);
        if (unwrappedParent is AsExpression || unwrappedParent is IsExpression) {
          // Do not report a "Strict raw type" error in this case; too noisy.
  
negative.code:   ///   contain `_`
    /// - [type] does not have any `dynamic` type arguments.
    /// - the element is marked with `@optionalTypeArgs` from "package:meta".
    bool _isMissingTypeArguments(AstNode node, DartType type, Element? element) {
      List<DartType> typeArguments;
      var alias = type.alias;
      if (alias != null) {
  