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);
           }
           declaration.forEach((String name, Declaration member) {
             if (member is KernelProcedureBuilder) {
  
positive.code:             : getNonSimplicityIssuesForDeclaration(declaration,
                  performErrorRecovery: true);
          reportIssues(issues);
          // In case of issues, use non-strong mode for error recovery.
          count += computeDefaultTypesForVariables(
              declaration.typeVariables, !legacyMode && issues.length == 0);
        } 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.
          count += computeDefaultTypesForVariables(
              declaration.typeVariables, !legacyMode && issues.length == 0);
        }
      }
  
  
negative.code:                 ? const <Object>[]
                  : getNonSimplicityIssuesForTypeVariables(member.typeVariables);
              reportIssues(issues);
              // In case of issues, use legacy mode for error recovery.
              count += computeDefaultTypesForVariables(
                  member.typeVariables, legacyMode || issues.isNotEmpty);
            }
          });
        } else if (declaration is KernelFunctionTypeAliasBuilder) {
  