anchor.diff:        handleNew(node, node.target, isConst: node.isConst);
       } else {
         FunctionEntity target = elementMap.getMethod(node.target);
  +      List<DartType> typeArguments = _visitArguments(node.arguments);
         if (_options.strongMode &&
             target == commonElements.extractTypeArguments) {
  -        _handleExtractTypeArguments(node, target);
  +        _handleExtractTypeArguments(node, target, typeArguments);
           return;
         }
  -      List<DartType> typeArguments = _visitArguments(node.arguments);
         impactBuilder.registerStaticUse(new StaticUse.staticInvoke(
             target, elementMap.getCallStructure(node.arguments), typeArguments));
       }
  
positive.code:     }
    }
  
    void _handleExtractTypeArguments(
        ir.StaticInvocation node, FunctionEntity target) {
      // extractTypeArguments<Map>(obj, fn) has additional impacts:
      //
      //   1. All classes implementing Map need to carry type arguments (similar
  
negative.code:     //
      //   2. There is an invocation of fn with some number of type arguments.
      //
      impactBuilder.registerStaticUse(new StaticUse.staticInvoke(
          target, elementMap.getCallStructure(node.arguments), typeArguments));
  
  