anchor.diff:              : getNonSimplicityIssuesForDeclaration(declaration,
                   performErrorRecovery: true);
           reportIssues(issues);
  -        // In case of issues, use non-strong mode for error recovery.
  +        // In case of issues, use legacy mode for error recovery.
           count += computeDefaultTypesForVariables(
  -            declaration.typeVariables, !legacyMode && issues.length == 0);
  +            declaration.typeVariables, legacyMode || issues.isNotEmpty);
         } else if (declaration is KernelFunctionBuilder) {
           List<Object> issues = legacyMode
               ? const <Object>[]
               : getNonSimplicityIssuesForTypeVariables(declaration.typeVariables);
           reportIssues(issues);
  -        // In case of issues, use non-strong mode for error recovery.
  +        // In case of issues, use legacy mode for error recovery.
           count += computeDefaultTypesForVariables(
  -            declaration.typeVariables, !legacyMode && issues.length == 0);
  +            declaration.typeVariables, legacyMode || issues.isNotEmpty);
         }
       }
   
  
positive.code:                 ? const <Object>[]
                  : getNonSimplicityIssuesForTypeVariables(member.typeVariables);
              reportIssues(issues);
              // In case of issues, use non-strong mode for error recovery.
              count += computeDefaultTypesForVariables(
                  member.typeVariables, !legacyMode && issues.length == 0);
            }
          });
        } else if (declaration is KernelFunctionTypeAliasBuilder) {
  
negative.code: 
      int computeDefaultTypesForVariables(
          List<TypeVariableBuilder<TypeBuilder, Object>> variables,
          bool legacyMode) {
        if (variables == null) return 0;
  
        bool haveErroneousBounds = false;
        if (!legacyMode) {
          for (int i = 0; i < variables.length; ++i) {
            TypeVariableBuilder<TypeBuilder, Object> variable = variables[i];
            List<TypeBuilder> genericFunctionTypes = <TypeBuilder>[];
  