anchor.diff:      _customElementsAnalysis.registerStaticUse(member);
   
       if (member.isFunction && member.isInstanceMember) {
  -      ClassEntity cls = member.enclosingClass;
  +      ClassEntity cls = member.enclosingClass!;
         if (member.name == Identifiers.call &&
             _elementEnvironment.isGenericClass(cls) &&
  -          _rtiNeed.methodNeedsSignature(member)) {
  +          _rtiNeed.methodNeedsSignature(member as FunctionEntity)) {
           worldImpact.addImpact(_registerComputeSignature());
         }
       }
  
positive.code: 
    @override
    void onQueueOpen(
        Enqueuer enqueuer, FunctionEntity mainMethod, Iterable<Uri> libraries) {
      enqueuer.applyImpact(_nativeEnqueuer.processNativeClasses(libraries));
      if (mainMethod != null) {
        enqueuer.applyImpact(_computeMainImpact(mainMethod));
  
negative.code:           .registerTypeUse(TypeUse.instantiation(_commonElements.typeType));
        // If the type is a web component, we need to ensure the constructors are
        // available to 'upgrade' the native object.
        final representedType = constant.representedType;
        if (representedType is InterfaceType) {
          _customElementsAnalysis.registerTypeConstant(representedType.element);
        }
      } else if (constant is InstantiationConstantValue) {
  