Version 3.3.0-89.0.dev

Merge 248afd5d29498ad88492c3382fdb99f7bdba67dd into dev
diff --git a/DEPS b/DEPS
index 70eeb53..65407b8 100644
--- a/DEPS
+++ b/DEPS
@@ -193,7 +193,7 @@
   "vector_math_rev": "294896dedc6da2a736f47c3c6a19643df934641c",
   "watcher_rev": "6ad58dcbbf328fbecf18d6ad2357c67be300b489",
   "web_socket_channel_rev": "f3ac1bf2bd3c93eb6d5d78646ff7de31797f4cf6",
-  "webdev_rev": "50534a1299d1fdcac065ac337abcad26886ff029",
+  "webdev_rev": "5ad79c240b000a50057612d6af4573f6e649f65c", # https://github.com/dart-lang/webdev/issues/2276
   "webdriver_rev": "eaf9c582e6e72c3551d3a875b2d522cd1ad06593",
   "webkit_inspection_protocol_rev": "82f0c1c46dfdba5edf7c5fa84456233121dd69e1",
   "yaml_rev": "9f0d64934c07bc27438074616455618b7103582d",
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/candidate_suggestion.dart b/pkg/analysis_server/lib/src/services/completion/dart/candidate_suggestion.dart
index 45bd9ce..1b08225 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/candidate_suggestion.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/candidate_suggestion.dart
@@ -120,7 +120,7 @@
 /// The information about a candidate suggestion based on a local function.
 final class LocalFunctionSuggestion extends CandidateSuggestion {
   /// The element on which the suggestion is based.
-  final ExecutableElement element;
+  final FunctionElement element;
 
   /// Initialize a newly created candidate suggestion to suggest the [element].
   LocalFunctionSuggestion(this.element);
@@ -160,8 +160,7 @@
       case LabelSuggestion():
         suggestLabel(suggestion.label);
       case LocalFunctionSuggestion():
-        // TODO(brianwilkerson) Add support for suggesting a local function.
-        break;
+        suggestTopLevelFunction(suggestion.element);
       case LocalVariableSuggestion():
         // TODO(brianwilkerson) Enhance `suggestLocalVariable` to allow the
         //  distance to be passed in.
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
index 1f0d850..4bd81bc 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/completion_manager.dart
@@ -33,6 +33,7 @@
 import 'package:analysis_server/src/services/completion/dart/type_member_contributor.dart';
 import 'package:analysis_server/src/services/completion/dart/uri_contributor.dart';
 import 'package:analysis_server/src/services/completion/dart/variable_name_contributor.dart';
+import 'package:analysis_server/src/services/completion/dart/visibility_tracker.dart';
 import 'package:analysis_server/src/utilities/selection.dart';
 import 'package:analyzer/dart/analysis/features.dart';
 import 'package:analyzer/dart/analysis/results.dart';
@@ -145,6 +146,7 @@
     // Compute the list of contributors that will be run.
     var builder =
         SuggestionBuilder(request, useFilter: useFilter, listener: listener);
+    var localReferenceContributor = LocalReferenceContributor(request, builder);
     var contributors = <DartCompletionContributor>[
       ArgListContributor(request, builder),
       ClosureContributor(request, builder),
@@ -155,7 +157,7 @@
       LibraryMemberContributor(request, builder),
       LibraryPrefixContributor(request, builder),
       LocalLibraryContributor(request, builder),
-      LocalReferenceContributor(request, builder),
+      localReferenceContributor,
       NamedConstructorContributor(request, builder),
       if (enableOverrideContributor) OverrideContributor(request, builder),
       RecordLiteralContributor(request, builder),
@@ -185,12 +187,16 @@
     }
 
     try {
+      VisibilityTracker? visibilityTracker;
       await performance.runAsync(
         'InScopeCompletionPass',
         (performance) async {
-          _runFirstPass(request, builder);
+          visibilityTracker = _runFirstPass(request, builder);
         },
       );
+      if (visibilityTracker != null) {
+        localReferenceContributor.visibilityTracker = visibilityTracker!;
+      }
       for (var contributor in contributors) {
         await performance.runAsync(
           '${contributor.runtimeType}',
@@ -298,7 +304,10 @@
   }
 
   // Run the first pass of the code completion algorithm.
-  void _runFirstPass(DartCompletionRequest request, SuggestionBuilder builder) {
+  VisibilityTracker? _runFirstPass(
+      DartCompletionRequest request, SuggestionBuilder builder) {
+    // TODO(brianwilkerson) Stop returning the visibility tracker when the
+    //  `LocalReferenceContributor` has been deleted.
     var collector = SuggestionCollector();
     var selection = request.unit.select(offset: request.offset, length: 0);
     if (selection == null) {
@@ -308,6 +317,7 @@
     var pass = InScopeCompletionPass(state: state, collector: collector);
     pass.computeSuggestions();
     builder.suggestFromCandidates(collector.suggestions);
+    return pass.visibilityTracker;
   }
 }
 
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart b/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
index fce8f20..f7de3f4 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/declaration_helper.dart
@@ -4,6 +4,7 @@
 
 import 'package:analysis_server/src/services/completion/dart/candidate_suggestion.dart';
 import 'package:analysis_server/src/services/completion/dart/suggestion_collector.dart';
+import 'package:analysis_server/src/services/completion/dart/visibility_tracker.dart';
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
@@ -23,7 +24,7 @@
 
   /// The visibility tracker used to prevent suggesting elements that have been
   /// shadowed by local declarations.
-  final _VisibilityTracker _visibilityTracker = _VisibilityTracker();
+  final VisibilityTracker visibilityTracker = VisibilityTracker();
 
   /// A flag indicating whether suggestions should be limited to only include
   /// valid constants.
@@ -73,6 +74,9 @@
         case FieldDeclaration():
           return currentNode;
         case ForElement(forLoopParts: var parts):
+          if (parts != previousNode) {
+            _visitForLoopParts(parts);
+          }
         case ForStatement(forLoopParts: var parts):
           if (parts != previousNode) {
             _visitForLoopParts(parts);
@@ -117,7 +121,7 @@
 
   /// Add a suggestion for the local function represented by the [element].
   void _suggestFunction(ExecutableElement element) {
-    if (_visibilityTracker.isVisible(element)) {
+    if (element is FunctionElement && visibilityTracker.isVisible(element)) {
       var suggestion = LocalFunctionSuggestion(element);
       collector.addSuggestion(suggestion);
     }
@@ -128,7 +132,7 @@
     if (mustBeConstant && !element.isConst) {
       return;
     }
-    if (_visibilityTracker.isVisible(element) && !_isUnused(element.name)) {
+    if (visibilityTracker.isVisible(element) && !_isUnused(element.name)) {
       var suggestion = FormalParameterSuggestion(element);
       collector.addSuggestion(suggestion);
     }
@@ -139,7 +143,7 @@
     if (mustBeConstant && !element.isConst) {
       return;
     }
-    if (_visibilityTracker.isVisible(element)) {
+    if (visibilityTracker.isVisible(element)) {
       var suggestion = LocalVariableSuggestion(element, _variableDistance++);
       collector.addSuggestion(suggestion);
     }
@@ -162,6 +166,8 @@
     switch (member) {
       case ConstructorDeclaration():
         _visitParameterList(member.parameters);
+      case FunctionDeclaration():
+        _visitParameterList(member.functionExpression.parameters);
       case FunctionExpression():
         _visitParameterList(member.parameters);
       case MethodDeclaration():
@@ -363,19 +369,3 @@
     }
   }
 }
-
-/// This class tracks the set of names already added in the completion list in
-/// order to prevent suggesting elements that have been shadowed by local
-/// declarations.
-class _VisibilityTracker {
-  /// The set of known previously declared names in this contributor.
-  final Set<String> declaredNames = {};
-
-  /// Before completions are added by this contributor, we verify with this
-  /// method if the element has already been added, this prevents suggesting
-  /// [Element]s that are shadowed.
-  bool isVisible(Element? element) {
-    var name = element?.name;
-    return name != null && declaredNames.add(name);
-  }
-}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart b/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
index 0eb54b0..3824c88 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/in_scope_completion_pass.dart
@@ -7,6 +7,7 @@
 import 'package:analysis_server/src/services/completion/dart/keyword_helper.dart';
 import 'package:analysis_server/src/services/completion/dart/label_helper.dart';
 import 'package:analysis_server/src/services/completion/dart/suggestion_collector.dart';
+import 'package:analysis_server/src/services/completion/dart/visibility_tracker.dart';
 import 'package:analysis_server/src/utilities/extensions/ast.dart';
 import 'package:analyzer/dart/analysis/features.dart';
 import 'package:analyzer/dart/ast/ast.dart';
@@ -32,10 +33,6 @@
   /// The suggestion collector to which suggestions will be added.
   final SuggestionCollector collector;
 
-  /// The helper used to suggest declarations that are in scope.
-  late final DeclarationHelper declarationHelper =
-      DeclarationHelper(collector: collector, offset: offset);
-
   /// The helper used to suggest keywords.
   late final KeywordHelper keywordHelper = KeywordHelper(
       collector: collector, featureSet: featureSet, offset: offset);
@@ -43,6 +40,9 @@
   /// The helper used to suggest labels.
   late final LabelHelper labelHelper = LabelHelper(collector: collector);
 
+  /// The helper used to suggest declarations that are in scope.
+  DeclarationHelper? _declarationHelper;
+
   /// Initialize a newly created completion visitor that can use the [state] to
   /// add candidate suggestions to the [collector].
   InScopeCompletionPass({required this.state, required this.collector});
@@ -54,6 +54,10 @@
   /// Return the offset at which completion was requested.
   int get offset => state.selection.offset;
 
+  /// Returns the visibility tracker used by this pass.
+  VisibilityTracker? get visibilityTracker =>
+      _declarationHelper?.visibilityTracker;
+
   /// Return the node that should be used as the context in which completion is
   /// occurring.
   ///
@@ -95,6 +99,10 @@
     _completionNode.accept(this);
   }
 
+  /// Return the helper used to suggest declarations that are in scope.
+  DeclarationHelper declarationHelper() => _declarationHelper =
+      DeclarationHelper(collector: collector, offset: offset);
+
   @override
   void visitAdjacentStrings(AdjacentStrings node) {
     _visitParentIfAtOrBeforeNode(node);
@@ -295,7 +303,7 @@
 
   @override
   void visitCommentReference(CommentReference node) {
-    declarationHelper.addLexicalDeclarations(node);
+    declarationHelper().addLexicalDeclarations(node);
   }
 
   @override
@@ -829,7 +837,7 @@
 
   @override
   void visitInterpolationExpression(InterpolationExpression node) {
-    declarationHelper.addLexicalDeclarations(node);
+    declarationHelper().addLexicalDeclarations(node);
   }
 
   @override
@@ -1512,7 +1520,7 @@
       TypedLiteral literal, NodeList<CollectionElement> elements) {
     var preceedingElement = elements.elementBefore(offset);
     keywordHelper.addCollectionElementKeywords(literal, elements);
-    declarationHelper.addLexicalDeclarations(preceedingElement ?? literal);
+    declarationHelper().addLexicalDeclarations(preceedingElement ?? literal);
   }
 
   /// Add the suggestions that are appropriate when the selection is at the
@@ -1539,7 +1547,7 @@
     var inConstantContext = node is Expression && node.inConstantContext;
     keywordHelper.addConstantExpressionKeywords(
         inConstantContext: inConstantContext);
-    declarationHelper.addLexicalDeclarations(node, mustBeConstant: true);
+    declarationHelper().addLexicalDeclarations(node, mustBeConstant: true);
   }
 
   /// Add the suggestions that are appropriate when the selection is at the
@@ -1561,7 +1569,7 @@
   void _forExpression(AstNode? node) {
     keywordHelper.addExpressionKeywords(node);
     if (node != null) {
-      declarationHelper.addLexicalDeclarations(node);
+      declarationHelper().addLexicalDeclarations(node);
     }
   }
 
@@ -1652,7 +1660,8 @@
   /// beginning of a pattern.
   void _forPattern(AstNode node, {bool mustBeConst = true}) {
     keywordHelper.addPatternKeywords();
-    declarationHelper.addLexicalDeclarations(node, mustBeConstant: mustBeConst);
+    declarationHelper()
+        .addLexicalDeclarations(node, mustBeConstant: mustBeConst);
   }
 
   /// Add the suggestions that are appropriate when the selection is at the
@@ -1804,7 +1813,7 @@
       }
     } else if (!node.inKeyword.isSynthetic) {
       keywordHelper.addKeyword(Keyword.AWAIT);
-      declarationHelper.addLexicalDeclarations(node);
+      declarationHelper().addLexicalDeclarations(node);
     }
   }
 
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
index fc708b2..5377583 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart/local_reference_contributor.dart
@@ -7,6 +7,7 @@
 import 'package:analysis_server/src/provisional/completion/dart/completion_dart.dart';
 import 'package:analysis_server/src/services/completion/dart/completion_manager.dart';
 import 'package:analysis_server/src/services/completion/dart/suggestion_builder.dart';
+import 'package:analysis_server/src/services/completion/dart/visibility_tracker.dart';
 import 'package:analyzer/dart/ast/ast.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
@@ -31,7 +32,7 @@
   /// The [_VisibilityTracker] tracks the set of elements already added in the
   /// completion list, this object helps prevents suggesting elements that have
   /// been shadowed by local declarations.
-  final _VisibilityTracker _visibilityTracker = _VisibilityTracker();
+  VisibilityTracker visibilityTracker = VisibilityTracker();
 
   LocalReferenceContributor(super.request, super.builder);
 
@@ -72,7 +73,7 @@
           try {
             builder.laterReplacesEarlier = false;
             var localVisitor = _LocalVisitor(
-                request, builder, _visibilityTracker,
+                request, builder, visibilityTracker,
                 suggestLocalFields: suggestLocalFields);
             localVisitor.visit(node);
           } finally {
@@ -107,7 +108,7 @@
     if (!isFunctionalArgument) {
       for (var accessor in type.accessors) {
         if (!accessor.isStatic) {
-          if (_visibilityTracker._isVisible(accessor.declaration)) {
+          if (visibilityTracker.isVisible(accessor.declaration)) {
             if (accessor.isGetter) {
               if (opType.includeReturnValueSuggestions) {
                 memberBuilder.addSuggestionForAccessor(
@@ -127,7 +128,7 @@
     }
     for (var method in type.methods) {
       if (!method.isStatic) {
-        if (_visibilityTracker._isVisible(method.declaration)) {
+        if (visibilityTracker.isVisible(method.declaration)) {
           if (method.returnType is! VoidType) {
             if (opType.includeReturnValueSuggestions) {
               memberBuilder.addSuggestionForMethod(
@@ -206,7 +207,7 @@
   /// clause.
   bool inExtendsClause = false;
 
-  _VisibilityTracker visibilityTracker;
+  VisibilityTracker visibilityTracker;
 
   _LocalVisitor(this.request, this.builder, this.visibilityTracker,
       {required this.suggestLocalFields})
@@ -245,7 +246,7 @@
   void declaredExtension(ExtensionDeclaration declaration) {
     var declaredElement = declaration.declaredElement;
     if (declaredElement != null &&
-        visibilityTracker._isVisible(declaredElement) &&
+        visibilityTracker.isVisible(declaredElement) &&
         opType.includeReturnValueSuggestions &&
         declaration.name != null) {
       builder.suggestExtension(declaredElement, kind: _defaultKind);
@@ -256,7 +257,7 @@
   void declaredField(FieldDeclaration fieldDecl, VariableDeclaration varDecl) {
     var field = varDecl.declaredElement;
     if (field is FieldElement &&
-        ((visibilityTracker._isVisible(field) &&
+        ((visibilityTracker.isVisible(field) &&
                 opType.includeReturnValueSuggestions &&
                 (!opType.inStaticMethodBody || fieldDecl.isStatic)) ||
             suggestLocalFields)) {
@@ -277,7 +278,7 @@
 
   @override
   void declaredFunction(FunctionDeclaration declaration) {
-    if (visibilityTracker._isVisible(declaration.declaredElement) &&
+    if (visibilityTracker.isVisible(declaration.declaredElement) &&
         (opType.includeReturnValueSuggestions ||
             opType.includeVoidReturnSuggestions)) {
       if (declaration.isSetter) {
@@ -324,7 +325,7 @@
   @override
   void declaredMethod(MethodDeclaration declaration) {
     var element = declaration.declaredElement;
-    if (visibilityTracker._isVisible(element) &&
+    if (visibilityTracker.isVisible(element) &&
         (opType.includeReturnValueSuggestions ||
             opType.includeVoidReturnSuggestions) &&
         (!opType.inStaticMethodBody || declaration.isStatic)) {
@@ -354,7 +355,7 @@
     var declaredElement = declaration.declaredElement;
     if (!inExtendsClause &&
         declaredElement != null &&
-        visibilityTracker._isVisible(declaredElement) &&
+        visibilityTracker.isVisible(declaredElement) &&
         opType.includeTypeNameSuggestions) {
       builder.suggestInterface(declaredElement);
     }
@@ -365,7 +366,7 @@
       VariableDeclarationList varList, VariableDeclaration varDecl) {
     var variableElement = varDecl.declaredElement;
     if (variableElement is TopLevelVariableElement &&
-        visibilityTracker._isVisible(variableElement) &&
+        visibilityTracker.isVisible(variableElement) &&
         (opType.includeReturnValueSuggestions ||
             (opType.includeAnnotationSuggestions && variableElement.isConst))) {
       var getter = variableElement.getter;
@@ -379,7 +380,7 @@
   void declaredTypeParameter(TypeParameter node) {
     var declaredElement = node.declaredElement;
     if (declaredElement != null &&
-        visibilityTracker._isVisible(declaredElement) &&
+        visibilityTracker.isVisible(declaredElement) &&
         opType.includeTypeNameSuggestions) {
       builder.suggestTypeParameter(declaredElement);
     }
@@ -392,7 +393,7 @@
   }
 
   void _declaredInterfaceElement(InterfaceElement? element) {
-    if (element != null && visibilityTracker._isVisible(element)) {
+    if (element != null && visibilityTracker.isVisible(element)) {
       if (opType.includeTypeNameSuggestions) {
         builder.suggestInterface(element);
       }
@@ -441,19 +442,3 @@
     return false;
   }
 }
-
-/// This class tracks the set of elements already added in the completion list,
-/// this object helps prevents suggesting elements that have been shadowed by
-/// local declarations.
-class _VisibilityTracker {
-  /// The set of known previously declared names in this contributor.
-  final Set<String> declaredNames = {};
-
-  /// Before completions are added by this contributor, we verify with this
-  /// method if the element has already been added, this prevents suggesting
-  /// [Element]s that are shadowed.
-  bool _isVisible(Element? element) {
-    var name = element?.name;
-    return name != null && declaredNames.add(name);
-  }
-}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart/visibility_tracker.dart b/pkg/analysis_server/lib/src/services/completion/dart/visibility_tracker.dart
new file mode 100644
index 0000000..97a168c
--- /dev/null
+++ b/pkg/analysis_server/lib/src/services/completion/dart/visibility_tracker.dart
@@ -0,0 +1,21 @@
+// Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:analyzer/dart/element/element.dart';
+
+/// This class tracks the set of names already added in the completion list in
+/// order to prevent suggesting elements that have been shadowed by local
+/// declarations.
+class VisibilityTracker {
+  /// The set of known previously declared names.
+  final Set<String> declaredNames = {};
+
+  /// Before completions are added by the helper, we verify with this method
+  /// whether the name of the element has already been added, in order to
+  /// prevent suggesting elements that are shadowed.
+  bool isVisible(Element? element) {
+    var name = element?.name;
+    return name != null && declaredNames.add(name);
+  }
+}
diff --git a/pkg/analysis_server/test/services/completion/dart/completion_test.dart b/pkg/analysis_server/test/services/completion/dart/completion_test.dart
index edbeff6..6114646 100644
--- a/pkg/analysis_server/test/services/completion/dart/completion_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/completion_test.dart
@@ -10049,7 +10049,6 @@
 ''');
   }
 
-  @failingTest
   Future<void> test_completion_dartDoc_reference_forFunction_1() async {
     allowedIdentifiers = {'aaa', 'bbb'};
     await computeSuggestions('''
@@ -10061,7 +10060,16 @@
 functionA(aaa, bbb) {}
 functionB() {}
 ''');
-    assertResponse(r'''
+    if (isProtocolVersion2) {
+      assertResponse(r'''
+replacement
+  left: 2
+suggestions
+  aaa
+    kind: parameter
+''');
+    } else {
+      assertResponse(r'''
 replacement
   left: 2
 suggestions
@@ -10070,6 +10078,7 @@
   bbb
     kind: parameter
 ''');
+    }
   }
 
   Future<void> test_completion_dartDoc_reference_forFunction_2() async {
diff --git a/pkg/analysis_server/test/services/completion/dart/declaration/local_reference_test.dart b/pkg/analysis_server/test/services/completion/dart/declaration/local_reference_test.dart
index a2d0b9a..5cb90ea 100644
--- a/pkg/analysis_server/test/services/completion/dart/declaration/local_reference_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/declaration/local_reference_test.dart
@@ -493,7 +493,7 @@
   b0
     kind: function
   b1
-    kind: function
+    kind: functionInvocation
   h0
     kind: function
 ''');
@@ -511,7 +511,7 @@
   b0
     kind: function
   b1
-    kind: function
+    kind: functionInvocation
   b2
     kind: functionInvocation
   h0
@@ -553,7 +553,7 @@
   b0
     kind: function
   b1
-    kind: function
+    kind: functionInvocation
   b2
     kind: function
   h0
@@ -573,7 +573,7 @@
   b0
     kind: function
   b1
-    kind: function
+    kind: functionInvocation
   b2
     kind: functionInvocation
   h0
@@ -6902,7 +6902,7 @@
   left: 4
 suggestions
   f0
-    kind: function
+    kind: functionInvocation
 ''');
     }
   }
diff --git a/tests/language/function_type/function_type0_test.dart b/tests/language/function_type/function_type0_test.dart
index 0b57f82..3d410df 100644
--- a/tests/language/function_type/function_type0_test.dart
+++ b/tests/language/function_type/function_type0_test.dart
@@ -211,7 +211,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -429,7 +429,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -503,7 +503,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -601,7 +601,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -651,7 +651,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -748,7 +748,7 @@
     Expect.isFalse(f18 is F18<bool>);
     Expect.isTrue(confuse(f18) is F18<int>);
     Expect.isFalse(confuse(f18) is F18<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x18 = (f18 as dynamic);
       });
@@ -821,7 +821,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -917,7 +917,7 @@
 }
 
 void main() {
-  new U0().runTests();
-  new U0<int>(tIsInt: true).runTests();
-  new U0<bool>(tIsBool: true).runTests();
+  U0().runTests();
+  U0<int>(tIsInt: true).runTests();
+  U0<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type10_test.dart b/tests/language/function_type/function_type10_test.dart
index dc1069a..321df15 100644
--- a/tests/language/function_type/function_type10_test.dart
+++ b/tests/language/function_type/function_type10_test.dart
@@ -244,7 +244,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -518,7 +518,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -621,7 +621,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -671,7 +671,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -819,7 +819,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -894,7 +894,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -942,7 +942,7 @@
 }
 
 void main() {
-  new U10().runTests();
-  new U10<int>(tIsInt: true).runTests();
-  new U10<bool>(tIsBool: true).runTests();
+  U10().runTests();
+  U10<int>(tIsInt: true).runTests();
+  U10<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type11_test.dart b/tests/language/function_type/function_type11_test.dart
index 2bfd807..c33e6ad 100644
--- a/tests/language/function_type/function_type11_test.dart
+++ b/tests/language/function_type/function_type11_test.dart
@@ -512,7 +512,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -615,7 +615,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -666,7 +666,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -817,7 +817,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -893,7 +893,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -942,7 +942,7 @@
 }
 
 void main() {
-  new U11().runTests();
-  new U11<int>(tIsInt: true).runTests();
-  new U11<bool>(tIsBool: true).runTests();
+  U11().runTests();
+  U11<int>(tIsInt: true).runTests();
+  U11<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type12_test.dart b/tests/language/function_type/function_type12_test.dart
index b6e6b33..8f546e6 100644
--- a/tests/language/function_type/function_type12_test.dart
+++ b/tests/language/function_type/function_type12_test.dart
@@ -231,7 +231,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -304,7 +304,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -498,7 +498,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -571,7 +571,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -620,7 +620,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -669,7 +669,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -814,7 +814,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -863,7 +863,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -935,7 +935,7 @@
 }
 
 void main() {
-  new U12().runTests();
-  new U12<int>(tIsInt: true).runTests();
-  new U12<bool>(tIsBool: true).runTests();
+  U12().runTests();
+  U12<int>(tIsInt: true).runTests();
+  U12<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type13_test.dart b/tests/language/function_type/function_type13_test.dart
index c08c5fc..e64375a 100644
--- a/tests/language/function_type/function_type13_test.dart
+++ b/tests/language/function_type/function_type13_test.dart
@@ -234,7 +234,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -478,7 +478,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -553,7 +553,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -602,7 +602,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -652,7 +652,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -797,7 +797,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -846,7 +846,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -918,7 +918,7 @@
 }
 
 void main() {
-  new U13().runTests();
-  new U13<int>(tIsInt: true).runTests();
-  new U13<bool>(tIsBool: true).runTests();
+  U13().runTests();
+  U13<int>(tIsInt: true).runTests();
+  U13<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type14_test.dart b/tests/language/function_type/function_type14_test.dart
index 7920da5..57c396d 100644
--- a/tests/language/function_type/function_type14_test.dart
+++ b/tests/language/function_type/function_type14_test.dart
@@ -266,7 +266,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -516,7 +516,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -592,7 +592,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -642,7 +642,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -692,7 +692,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -840,7 +840,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -890,7 +890,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -962,7 +962,7 @@
 }
 
 void main() {
-  new U14().runTests();
-  new U14<int>(tIsInt: true).runTests();
-  new U14<bool>(tIsBool: true).runTests();
+  U14().runTests();
+  U14<int>(tIsInt: true).runTests();
+  U14<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type15_test.dart b/tests/language/function_type/function_type15_test.dart
index 63be8bc..ac4f69e 100644
--- a/tests/language/function_type/function_type15_test.dart
+++ b/tests/language/function_type/function_type15_test.dart
@@ -283,7 +283,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -534,7 +534,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -611,7 +611,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -661,7 +661,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -712,7 +712,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -862,7 +862,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -913,7 +913,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -986,7 +986,7 @@
 }
 
 void main() {
-  new U15().runTests();
-  new U15<int>(tIsInt: true).runTests();
-  new U15<bool>(tIsBool: true).runTests();
+  U15().runTests();
+  U15<int>(tIsInt: true).runTests();
+  U15<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type16_test.dart b/tests/language/function_type/function_type16_test.dart
index 13cc46d..b28e165 100644
--- a/tests/language/function_type/function_type16_test.dart
+++ b/tests/language/function_type/function_type16_test.dart
@@ -231,7 +231,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -473,7 +473,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -547,7 +547,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -596,7 +596,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -646,7 +646,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -791,7 +791,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -887,7 +887,7 @@
 }
 
 void main() {
-  new U16().runTests();
-  new U16<int>(tIsInt: true).runTests();
-  new U16<bool>(tIsBool: true).runTests();
+  U16().runTests();
+  U16<int>(tIsInt: true).runTests();
+  U16<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type17_test.dart b/tests/language/function_type/function_type17_test.dart
index 25643d8..fda5f45 100644
--- a/tests/language/function_type/function_type17_test.dart
+++ b/tests/language/function_type/function_type17_test.dart
@@ -233,7 +233,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -477,7 +477,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -552,7 +552,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -601,7 +601,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -651,7 +651,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -796,7 +796,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -892,7 +892,7 @@
 }
 
 void main() {
-  new U17().runTests();
-  new U17<int>(tIsInt: true).runTests();
-  new U17<bool>(tIsBool: true).runTests();
+  U17().runTests();
+  U17<int>(tIsInt: true).runTests();
+  U17<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type18_test.dart b/tests/language/function_type/function_type18_test.dart
index 3bc2c6d..086e69a 100644
--- a/tests/language/function_type/function_type18_test.dart
+++ b/tests/language/function_type/function_type18_test.dart
@@ -261,7 +261,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -511,7 +511,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -588,7 +588,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -638,7 +638,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -689,7 +689,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -838,7 +838,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -936,7 +936,7 @@
 }
 
 void main() {
-  new U18().runTests();
-  new U18<int>(tIsInt: true).runTests();
-  new U18<bool>(tIsBool: true).runTests();
+  U18().runTests();
+  U18<int>(tIsInt: true).runTests();
+  U18<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type19_test.dart b/tests/language/function_type/function_type19_test.dart
index 81a8fec0..395c238 100644
--- a/tests/language/function_type/function_type19_test.dart
+++ b/tests/language/function_type/function_type19_test.dart
@@ -286,7 +286,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -537,7 +537,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -614,7 +614,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -665,7 +665,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -716,7 +716,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -865,7 +865,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -963,7 +963,7 @@
 }
 
 void main() {
-  new U19().runTests();
-  new U19<int>(tIsInt: true).runTests();
-  new U19<bool>(tIsBool: true).runTests();
+  U19().runTests();
+  U19<int>(tIsInt: true).runTests();
+  U19<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type1_test.dart b/tests/language/function_type/function_type1_test.dart
index a972659..018cdda 100644
--- a/tests/language/function_type/function_type1_test.dart
+++ b/tests/language/function_type/function_type1_test.dart
@@ -211,7 +211,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -429,7 +429,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -504,7 +504,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -603,7 +603,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -653,7 +653,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -750,7 +750,7 @@
     Expect.isFalse(f18 is F18<bool>);
     Expect.isTrue(confuse(f18) is F18<int>);
     Expect.isFalse(confuse(f18) is F18<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x18 = (f18 as dynamic);
       });
@@ -823,7 +823,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -921,7 +921,7 @@
 }
 
 void main() {
-  new U1().runTests();
-  new U1<int>(tIsInt: true).runTests();
-  new U1<bool>(tIsBool: true).runTests();
+  U1().runTests();
+  U1<int>(tIsInt: true).runTests();
+  U1<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type20_test.dart b/tests/language/function_type/function_type20_test.dart
index 8bbb1bf3..b4f0d2a 100644
--- a/tests/language/function_type/function_type20_test.dart
+++ b/tests/language/function_type/function_type20_test.dart
@@ -231,7 +231,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -304,7 +304,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -497,7 +497,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -572,7 +572,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -621,7 +621,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -671,7 +671,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -816,7 +816,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -912,7 +912,7 @@
 }
 
 void main() {
-  new U20().runTests();
-  new U20<int>(tIsInt: true).runTests();
-  new U20<bool>(tIsBool: true).runTests();
+  U20().runTests();
+  U20<int>(tIsInt: true).runTests();
+  U20<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type21_test.dart b/tests/language/function_type/function_type21_test.dart
index b4fb488..d850361 100644
--- a/tests/language/function_type/function_type21_test.dart
+++ b/tests/language/function_type/function_type21_test.dart
@@ -234,7 +234,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -478,7 +478,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -553,7 +553,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -602,7 +602,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -652,7 +652,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -797,7 +797,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -893,7 +893,7 @@
 }
 
 void main() {
-  new U21().runTests();
-  new U21<int>(tIsInt: true).runTests();
-  new U21<bool>(tIsBool: true).runTests();
+  U21().runTests();
+  U21<int>(tIsInt: true).runTests();
+  U21<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type22_test.dart b/tests/language/function_type/function_type22_test.dart
index 8a0bf32..3b3abf7 100644
--- a/tests/language/function_type/function_type22_test.dart
+++ b/tests/language/function_type/function_type22_test.dart
@@ -268,7 +268,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -517,7 +517,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -594,7 +594,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -644,7 +644,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -695,7 +695,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -844,7 +844,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -941,7 +941,7 @@
 }
 
 void main() {
-  new U22().runTests();
-  new U22<int>(tIsInt: true).runTests();
-  new U22<bool>(tIsBool: true).runTests();
+  U22().runTests();
+  U22<int>(tIsInt: true).runTests();
+  U22<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type23_test.dart b/tests/language/function_type/function_type23_test.dart
index 66d23ee..50cca26 100644
--- a/tests/language/function_type/function_type23_test.dart
+++ b/tests/language/function_type/function_type23_test.dart
@@ -517,7 +517,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -594,7 +594,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -644,7 +644,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -695,7 +695,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -846,7 +846,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -945,7 +945,7 @@
 }
 
 void main() {
-  new U23().runTests();
-  new U23<int>(tIsInt: true).runTests();
-  new U23<bool>(tIsBool: true).runTests();
+  U23().runTests();
+  U23<int>(tIsInt: true).runTests();
+  U23<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type24_test.dart b/tests/language/function_type/function_type24_test.dart
index 93650f1..ca7a1e2 100644
--- a/tests/language/function_type/function_type24_test.dart
+++ b/tests/language/function_type/function_type24_test.dart
@@ -231,7 +231,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -280,7 +280,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -329,7 +329,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -523,7 +523,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -598,7 +598,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -647,7 +647,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -696,7 +696,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -841,7 +841,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -938,7 +938,7 @@
 }
 
 void main() {
-  new U24().runTests();
-  new U24<int>(tIsInt: true).runTests();
-  new U24<bool>(tIsBool: true).runTests();
+  U24().runTests();
+  U24<int>(tIsInt: true).runTests();
+  U24<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type25_test.dart b/tests/language/function_type/function_type25_test.dart
index da856c5..c74ca7e 100644
--- a/tests/language/function_type/function_type25_test.dart
+++ b/tests/language/function_type/function_type25_test.dart
@@ -236,7 +236,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -285,7 +285,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -334,7 +334,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -532,7 +532,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -607,7 +607,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -656,7 +656,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -706,7 +706,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -853,7 +853,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -950,7 +950,7 @@
 }
 
 void main() {
-  new U25().runTests();
-  new U25<int>(tIsInt: true).runTests();
-  new U25<bool>(tIsBool: true).runTests();
+  U25().runTests();
+  U25<int>(tIsInt: true).runTests();
+  U25<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type26_test.dart b/tests/language/function_type/function_type26_test.dart
index dee7192..6c68fc2 100644
--- a/tests/language/function_type/function_type26_test.dart
+++ b/tests/language/function_type/function_type26_test.dart
@@ -279,7 +279,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -328,7 +328,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -377,7 +377,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -580,7 +580,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -657,7 +657,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -707,7 +707,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -758,7 +758,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -907,7 +907,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -1005,7 +1005,7 @@
 }
 
 void main() {
-  new U26().runTests();
-  new U26<int>(tIsInt: true).runTests();
-  new U26<bool>(tIsBool: true).runTests();
+  U26().runTests();
+  U26<int>(tIsInt: true).runTests();
+  U26<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type27_test.dart b/tests/language/function_type/function_type27_test.dart
index 4e6bd1a..5bb53cf 100644
--- a/tests/language/function_type/function_type27_test.dart
+++ b/tests/language/function_type/function_type27_test.dart
@@ -293,7 +293,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -342,7 +342,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -391,7 +391,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -596,7 +596,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -673,7 +673,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -723,7 +723,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -774,7 +774,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -926,7 +926,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -1026,7 +1026,7 @@
 }
 
 void main() {
-  new U27().runTests();
-  new U27<int>(tIsInt: true).runTests();
-  new U27<bool>(tIsBool: true).runTests();
+  U27().runTests();
+  U27<int>(tIsInt: true).runTests();
+  U27<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type28_test.dart b/tests/language/function_type/function_type28_test.dart
index e73db2d..a265012 100644
--- a/tests/language/function_type/function_type28_test.dart
+++ b/tests/language/function_type/function_type28_test.dart
@@ -231,7 +231,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -280,7 +280,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -329,7 +329,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -525,7 +525,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -599,7 +599,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -648,7 +648,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -698,7 +698,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -915,7 +915,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -939,7 +939,7 @@
 }
 
 void main() {
-  new U28().runTests();
-  new U28<int>(tIsInt: true).runTests();
-  new U28<bool>(tIsBool: true).runTests();
+  U28().runTests();
+  U28<int>(tIsInt: true).runTests();
+  U28<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type29_test.dart b/tests/language/function_type/function_type29_test.dart
index 0e6a8d4..a29528c 100644
--- a/tests/language/function_type/function_type29_test.dart
+++ b/tests/language/function_type/function_type29_test.dart
@@ -235,7 +235,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -284,7 +284,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -333,7 +333,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -529,7 +529,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -603,7 +603,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -652,7 +652,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -702,7 +702,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -922,7 +922,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -946,7 +946,7 @@
 }
 
 void main() {
-  new U29().runTests();
-  new U29<int>(tIsInt: true).runTests();
-  new U29<bool>(tIsBool: true).runTests();
+  U29().runTests();
+  U29<int>(tIsInt: true).runTests();
+  U29<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type2_test.dart b/tests/language/function_type/function_type2_test.dart
index a5559b7..2d2d985 100644
--- a/tests/language/function_type/function_type2_test.dart
+++ b/tests/language/function_type/function_type2_test.dart
@@ -255,7 +255,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -477,7 +477,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -554,7 +554,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -655,7 +655,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -706,7 +706,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -805,7 +805,7 @@
     Expect.isFalse(f18 is F18<bool>);
     Expect.isTrue(confuse(f18) is F18<int>);
     Expect.isFalse(confuse(f18) is F18<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x18 = (f18 as dynamic);
       });
@@ -879,7 +879,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -978,7 +978,7 @@
 }
 
 void main() {
-  new U2().runTests();
-  new U2<int>(tIsInt: true).runTests();
-  new U2<bool>(tIsBool: true).runTests();
+  U2().runTests();
+  U2<int>(tIsInt: true).runTests();
+  U2<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type30_test.dart b/tests/language/function_type/function_type30_test.dart
index bb77b4d..d464f58 100644
--- a/tests/language/function_type/function_type30_test.dart
+++ b/tests/language/function_type/function_type30_test.dart
@@ -272,7 +272,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -321,7 +321,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -370,7 +370,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -573,7 +573,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -649,7 +649,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -699,7 +699,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -750,7 +750,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -970,7 +970,7 @@
 }
 
 void main() {
-  new U30().runTests();
-  new U30<int>(tIsInt: true).runTests();
-  new U30<bool>(tIsBool: true).runTests();
+  U30().runTests();
+  U30<int>(tIsInt: true).runTests();
+  U30<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type31_test.dart b/tests/language/function_type/function_type31_test.dart
index 39859b4..edc321c 100644
--- a/tests/language/function_type/function_type31_test.dart
+++ b/tests/language/function_type/function_type31_test.dart
@@ -287,7 +287,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -336,7 +336,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -385,7 +385,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -589,7 +589,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -666,7 +666,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -716,7 +716,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -767,7 +767,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -991,7 +991,7 @@
 }
 
 void main() {
-  new U31().runTests();
-  new U31<int>(tIsInt: true).runTests();
-  new U31<bool>(tIsBool: true).runTests();
+  U31().runTests();
+  U31<int>(tIsInt: true).runTests();
+  U31<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type32_test.dart b/tests/language/function_type/function_type32_test.dart
index 2734451..eb0f73a 100644
--- a/tests/language/function_type/function_type32_test.dart
+++ b/tests/language/function_type/function_type32_test.dart
@@ -233,7 +233,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -282,7 +282,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -550,7 +550,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -599,7 +599,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -649,7 +649,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -866,7 +866,7 @@
 }
 
 void main() {
-  new U32().runTests();
-  new U32<int>(tIsInt: true).runTests();
-  new U32<bool>(tIsBool: true).runTests();
+  U32().runTests();
+  U32<int>(tIsInt: true).runTests();
+  U32<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type33_test.dart b/tests/language/function_type/function_type33_test.dart
index cdafcff..271d1e7 100644
--- a/tests/language/function_type/function_type33_test.dart
+++ b/tests/language/function_type/function_type33_test.dart
@@ -240,7 +240,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -289,7 +289,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -559,7 +559,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -608,7 +608,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -658,7 +658,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -876,7 +876,7 @@
 }
 
 void main() {
-  new U33().runTests();
-  new U33<int>(tIsInt: true).runTests();
-  new U33<bool>(tIsBool: true).runTests();
+  U33().runTests();
+  U33<int>(tIsInt: true).runTests();
+  U33<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type34_test.dart b/tests/language/function_type/function_type34_test.dart
index a67ef85..01fb885 100644
--- a/tests/language/function_type/function_type34_test.dart
+++ b/tests/language/function_type/function_type34_test.dart
@@ -266,7 +266,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -315,7 +315,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -593,7 +593,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -643,7 +643,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -694,7 +694,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -916,7 +916,7 @@
 }
 
 void main() {
-  new U34().runTests();
-  new U34<int>(tIsInt: true).runTests();
-  new U34<bool>(tIsBool: true).runTests();
+  U34().runTests();
+  U34<int>(tIsInt: true).runTests();
+  U34<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type35_test.dart b/tests/language/function_type/function_type35_test.dart
index 24b1f90..fd889b7 100644
--- a/tests/language/function_type/function_type35_test.dart
+++ b/tests/language/function_type/function_type35_test.dart
@@ -286,7 +286,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -589,7 +589,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -639,7 +639,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -690,7 +690,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -916,7 +916,7 @@
 }
 
 void main() {
-  new U35().runTests();
-  new U35<int>(tIsInt: true).runTests();
-  new U35<bool>(tIsBool: true).runTests();
+  U35().runTests();
+  U35<int>(tIsInt: true).runTests();
+  U35<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type36_test.dart b/tests/language/function_type/function_type36_test.dart
index 7acad4f..7d4c706 100644
--- a/tests/language/function_type/function_type36_test.dart
+++ b/tests/language/function_type/function_type36_test.dart
@@ -234,7 +234,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -307,7 +307,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -552,7 +552,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -601,7 +601,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -650,7 +650,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -867,7 +867,7 @@
 }
 
 void main() {
-  new U36().runTests();
-  new U36<int>(tIsInt: true).runTests();
-  new U36<bool>(tIsBool: true).runTests();
+  U36().runTests();
+  U36<int>(tIsInt: true).runTests();
+  U36<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type37_test.dart b/tests/language/function_type/function_type37_test.dart
index e8f7310..5f7add6 100644
--- a/tests/language/function_type/function_type37_test.dart
+++ b/tests/language/function_type/function_type37_test.dart
@@ -240,7 +240,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -533,7 +533,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -582,7 +582,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -631,7 +631,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -850,7 +850,7 @@
 }
 
 void main() {
-  new U37().runTests();
-  new U37<int>(tIsInt: true).runTests();
-  new U37<bool>(tIsBool: true).runTests();
+  U37().runTests();
+  U37<int>(tIsInt: true).runTests();
+  U37<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type38_test.dart b/tests/language/function_type/function_type38_test.dart
index 6b92596..3ddd07b 100644
--- a/tests/language/function_type/function_type38_test.dart
+++ b/tests/language/function_type/function_type38_test.dart
@@ -267,7 +267,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -569,7 +569,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -619,7 +619,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -669,7 +669,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -893,7 +893,7 @@
 }
 
 void main() {
-  new U38().runTests();
-  new U38<int>(tIsInt: true).runTests();
-  new U38<bool>(tIsBool: true).runTests();
+  U38().runTests();
+  U38<int>(tIsInt: true).runTests();
+  U38<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type39_test.dart b/tests/language/function_type/function_type39_test.dart
index 44a871b..15330c2 100644
--- a/tests/language/function_type/function_type39_test.dart
+++ b/tests/language/function_type/function_type39_test.dart
@@ -297,7 +297,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -600,7 +600,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -650,7 +650,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -700,7 +700,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -926,7 +926,7 @@
 }
 
 void main() {
-  new U39().runTests();
-  new U39<int>(tIsInt: true).runTests();
-  new U39<bool>(tIsBool: true).runTests();
+  U39().runTests();
+  U39<int>(tIsInt: true).runTests();
+  U39<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type3_test.dart b/tests/language/function_type/function_type3_test.dart
index 2023626..dc4291f 100644
--- a/tests/language/function_type/function_type3_test.dart
+++ b/tests/language/function_type/function_type3_test.dart
@@ -273,7 +273,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -498,7 +498,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -575,7 +575,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -677,7 +677,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -728,7 +728,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -827,7 +827,7 @@
     Expect.isFalse(f18 is F18<bool>);
     Expect.isTrue(confuse(f18) is F18<int>);
     Expect.isFalse(confuse(f18) is F18<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x18 = (f18 as dynamic);
       });
@@ -902,7 +902,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -1003,7 +1003,7 @@
 }
 
 void main() {
-  new U3().runTests();
-  new U3<int>(tIsInt: true).runTests();
-  new U3<bool>(tIsBool: true).runTests();
+  U3().runTests();
+  U3<int>(tIsInt: true).runTests();
+  U3<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type40_test.dart b/tests/language/function_type/function_type40_test.dart
index 9ba0f8a4..9909a50 100644
--- a/tests/language/function_type/function_type40_test.dart
+++ b/tests/language/function_type/function_type40_test.dart
@@ -234,7 +234,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -355,7 +355,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -551,7 +551,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -600,7 +600,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -649,7 +649,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -843,7 +843,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -891,7 +891,7 @@
 }
 
 void main() {
-  new U40().runTests();
-  new U40<int>(tIsInt: true).runTests();
-  new U40<bool>(tIsBool: true).runTests();
+  U40().runTests();
+  U40<int>(tIsInt: true).runTests();
+  U40<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type41_test.dart b/tests/language/function_type/function_type41_test.dart
index f5b7877..3242219 100644
--- a/tests/language/function_type/function_type41_test.dart
+++ b/tests/language/function_type/function_type41_test.dart
@@ -238,7 +238,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -359,7 +359,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -556,7 +556,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -605,7 +605,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -654,7 +654,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -848,7 +848,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -897,7 +897,7 @@
 }
 
 void main() {
-  new U41().runTests();
-  new U41<int>(tIsInt: true).runTests();
-  new U41<bool>(tIsBool: true).runTests();
+  U41().runTests();
+  U41<int>(tIsInt: true).runTests();
+  U41<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type42_test.dart b/tests/language/function_type/function_type42_test.dart
index db0bc8e..bd0a55e 100644
--- a/tests/language/function_type/function_type42_test.dart
+++ b/tests/language/function_type/function_type42_test.dart
@@ -271,7 +271,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -393,7 +393,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -596,7 +596,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -646,7 +646,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -696,7 +696,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -896,7 +896,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -945,7 +945,7 @@
 }
 
 void main() {
-  new U42().runTests();
-  new U42<int>(tIsInt: true).runTests();
-  new U42<bool>(tIsBool: true).runTests();
+  U42().runTests();
+  U42<int>(tIsInt: true).runTests();
+  U42<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type43_test.dart b/tests/language/function_type/function_type43_test.dart
index bc0b1fb..60d6baa 100644
--- a/tests/language/function_type/function_type43_test.dart
+++ b/tests/language/function_type/function_type43_test.dart
@@ -292,7 +292,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -415,7 +415,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -621,7 +621,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -671,7 +671,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -721,7 +721,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -924,7 +924,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -973,7 +973,7 @@
 }
 
 void main() {
-  new U43().runTests();
-  new U43<int>(tIsInt: true).runTests();
-  new U43<bool>(tIsBool: true).runTests();
+  U43().runTests();
+  U43<int>(tIsInt: true).runTests();
+  U43<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type44_test.dart b/tests/language/function_type/function_type44_test.dart
index 36f5e88..a2e4866 100644
--- a/tests/language/function_type/function_type44_test.dart
+++ b/tests/language/function_type/function_type44_test.dart
@@ -185,7 +185,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -258,7 +258,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -331,7 +331,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -404,7 +404,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -600,7 +600,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -649,7 +649,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -698,7 +698,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -867,7 +867,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -940,7 +940,7 @@
 }
 
 void main() {
-  new U44().runTests();
-  new U44<int>(tIsInt: true).runTests();
-  new U44<bool>(tIsBool: true).runTests();
+  U44().runTests();
+  U44<int>(tIsInt: true).runTests();
+  U44<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type45_test.dart b/tests/language/function_type/function_type45_test.dart
index 3e825cc..ca3ea4e 100644
--- a/tests/language/function_type/function_type45_test.dart
+++ b/tests/language/function_type/function_type45_test.dart
@@ -187,7 +187,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -260,7 +260,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -381,7 +381,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -579,7 +579,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -628,7 +628,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -677,7 +677,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -850,7 +850,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -923,7 +923,7 @@
 }
 
 void main() {
-  new U45().runTests();
-  new U45<int>(tIsInt: true).runTests();
-  new U45<bool>(tIsBool: true).runTests();
+  U45().runTests();
+  U45<int>(tIsInt: true).runTests();
+  U45<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type46_test.dart b/tests/language/function_type/function_type46_test.dart
index 9eb37c2..1b32d57 100644
--- a/tests/language/function_type/function_type46_test.dart
+++ b/tests/language/function_type/function_type46_test.dart
@@ -228,7 +228,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -301,7 +301,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -424,7 +424,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -629,7 +629,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -679,7 +679,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -729,7 +729,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -904,7 +904,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -977,7 +977,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -1001,7 +1001,7 @@
 }
 
 void main() {
-  new U46().runTests();
-  new U46<int>(tIsInt: true).runTests();
-  new U46<bool>(tIsBool: true).runTests();
+  U46().runTests();
+  U46<int>(tIsInt: true).runTests();
+  U46<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type47_test.dart b/tests/language/function_type/function_type47_test.dart
index 0b0de83..e158f0f 100644
--- a/tests/language/function_type/function_type47_test.dart
+++ b/tests/language/function_type/function_type47_test.dart
@@ -243,7 +243,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -316,7 +316,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -439,7 +439,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -645,7 +645,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -696,7 +696,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -746,7 +746,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -925,7 +925,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -999,7 +999,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -1023,7 +1023,7 @@
 }
 
 void main() {
-  new U47().runTests();
-  new U47<int>(tIsInt: true).runTests();
-  new U47<bool>(tIsBool: true).runTests();
+  U47().runTests();
+  U47<int>(tIsInt: true).runTests();
+  U47<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type48_test.dart b/tests/language/function_type/function_type48_test.dart
index 700eaf5..1ac681f 100644
--- a/tests/language/function_type/function_type48_test.dart
+++ b/tests/language/function_type/function_type48_test.dart
@@ -185,7 +185,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -259,7 +259,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -380,7 +380,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -578,7 +578,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -627,7 +627,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -676,7 +676,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -822,7 +822,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -918,7 +918,7 @@
 }
 
 void main() {
-  new U48().runTests();
-  new U48<int>(tIsInt: true).runTests();
-  new U48<bool>(tIsBool: true).runTests();
+  U48().runTests();
+  U48<int>(tIsInt: true).runTests();
+  U48<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type49_test.dart b/tests/language/function_type/function_type49_test.dart
index 6cec2ac..3c72876 100644
--- a/tests/language/function_type/function_type49_test.dart
+++ b/tests/language/function_type/function_type49_test.dart
@@ -188,7 +188,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -261,7 +261,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -382,7 +382,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -580,7 +580,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -629,7 +629,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -678,7 +678,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -824,7 +824,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -920,7 +920,7 @@
 }
 
 void main() {
-  new U49().runTests();
-  new U49<int>(tIsInt: true).runTests();
-  new U49<bool>(tIsBool: true).runTests();
+  U49().runTests();
+  U49<int>(tIsInt: true).runTests();
+  U49<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type4_test.dart b/tests/language/function_type/function_type4_test.dart
index 02ecb62..be9f7ee 100644
--- a/tests/language/function_type/function_type4_test.dart
+++ b/tests/language/function_type/function_type4_test.dart
@@ -213,7 +213,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -311,7 +311,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -456,7 +456,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -530,7 +530,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -630,7 +630,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -680,7 +680,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -825,7 +825,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -923,7 +923,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -947,7 +947,7 @@
 }
 
 void main() {
-  new U4().runTests();
-  new U4<int>(tIsInt: true).runTests();
-  new U4<bool>(tIsBool: true).runTests();
+  U4().runTests();
+  U4<int>(tIsInt: true).runTests();
+  U4<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type50_test.dart b/tests/language/function_type/function_type50_test.dart
index 341568d..80d8e3c 100644
--- a/tests/language/function_type/function_type50_test.dart
+++ b/tests/language/function_type/function_type50_test.dart
@@ -217,7 +217,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -290,7 +290,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -413,7 +413,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -618,7 +618,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -668,7 +668,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -718,7 +718,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -868,7 +868,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -941,7 +941,7 @@
 }
 
 void main() {
-  new U50().runTests();
-  new U50<int>(tIsInt: true).runTests();
-  new U50<bool>(tIsBool: true).runTests();
+  U50().runTests();
+  U50<int>(tIsInt: true).runTests();
+  U50<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type51_test.dart b/tests/language/function_type/function_type51_test.dart
index 34c92d8..5380b47 100644
--- a/tests/language/function_type/function_type51_test.dart
+++ b/tests/language/function_type/function_type51_test.dart
@@ -240,7 +240,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -313,7 +313,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -436,7 +436,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -642,7 +642,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -692,7 +692,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -743,7 +743,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -894,7 +894,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -968,7 +968,7 @@
 }
 
 void main() {
-  new U51().runTests();
-  new U51<int>(tIsInt: true).runTests();
-  new U51<bool>(tIsBool: true).runTests();
+  U51().runTests();
+  U51<int>(tIsInt: true).runTests();
+  U51<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type52_test.dart b/tests/language/function_type/function_type52_test.dart
index 4ebb468..0a71b8a 100644
--- a/tests/language/function_type/function_type52_test.dart
+++ b/tests/language/function_type/function_type52_test.dart
@@ -184,7 +184,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -257,7 +257,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -330,7 +330,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -403,7 +403,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -599,7 +599,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -648,7 +648,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -697,7 +697,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -890,7 +890,7 @@
 }
 
 void main() {
-  new U52().runTests();
-  new U52<int>(tIsInt: true).runTests();
-  new U52<bool>(tIsBool: true).runTests();
+  U52().runTests();
+  U52<int>(tIsInt: true).runTests();
+  U52<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type53_test.dart b/tests/language/function_type/function_type53_test.dart
index 3ea2e32..be9e08f 100644
--- a/tests/language/function_type/function_type53_test.dart
+++ b/tests/language/function_type/function_type53_test.dart
@@ -189,7 +189,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -262,7 +262,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -383,7 +383,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -581,7 +581,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -630,7 +630,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -679,7 +679,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -873,7 +873,7 @@
 }
 
 void main() {
-  new U53().runTests();
-  new U53<int>(tIsInt: true).runTests();
-  new U53<bool>(tIsBool: true).runTests();
+  U53().runTests();
+  U53<int>(tIsInt: true).runTests();
+  U53<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type54_test.dart b/tests/language/function_type/function_type54_test.dart
index 855c06f..91197dd 100644
--- a/tests/language/function_type/function_type54_test.dart
+++ b/tests/language/function_type/function_type54_test.dart
@@ -216,7 +216,7 @@
     Expect.isFalse(f0 is F0<bool>);
     Expect.isTrue(confuse(f0) is F0<int>);
     Expect.isFalse(confuse(f0) is F0<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x0 = (f0 as dynamic);
       });
@@ -289,7 +289,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -412,7 +412,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -616,7 +616,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -666,7 +666,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -716,7 +716,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -915,7 +915,7 @@
 }
 
 void main() {
-  new U54().runTests();
-  new U54<int>(tIsInt: true).runTests();
-  new U54<bool>(tIsBool: true).runTests();
+  U54().runTests();
+  U54<int>(tIsInt: true).runTests();
+  U54<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type55_test.dart b/tests/language/function_type/function_type55_test.dart
index f57c3d4..2d87e1a 100644
--- a/tests/language/function_type/function_type55_test.dart
+++ b/tests/language/function_type/function_type55_test.dart
@@ -285,7 +285,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -408,7 +408,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -613,7 +613,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -664,7 +664,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -714,7 +714,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -915,7 +915,7 @@
 }
 
 void main() {
-  new U55().runTests();
-  new U55<int>(tIsInt: true).runTests();
-  new U55<bool>(tIsBool: true).runTests();
+  U55().runTests();
+  U55<int>(tIsInt: true).runTests();
+  U55<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type56_test.dart b/tests/language/function_type/function_type56_test.dart
index 69c92f7..f762e96 100644
--- a/tests/language/function_type/function_type56_test.dart
+++ b/tests/language/function_type/function_type56_test.dart
@@ -205,7 +205,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -254,7 +254,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -375,7 +375,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -595,7 +595,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -644,7 +644,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -836,7 +836,7 @@
 }
 
 void main() {
-  new U56().runTests();
-  new U56<int>(tIsInt: true).runTests();
-  new U56<bool>(tIsBool: true).runTests();
+  U56().runTests();
+  U56<int>(tIsInt: true).runTests();
+  U56<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type57_test.dart b/tests/language/function_type/function_type57_test.dart
index 5e48112..6416b4b 100644
--- a/tests/language/function_type/function_type57_test.dart
+++ b/tests/language/function_type/function_type57_test.dart
@@ -208,7 +208,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -257,7 +257,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -378,7 +378,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -599,7 +599,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -648,7 +648,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -842,7 +842,7 @@
 }
 
 void main() {
-  new U57().runTests();
-  new U57<int>(tIsInt: true).runTests();
-  new U57<bool>(tIsBool: true).runTests();
+  U57().runTests();
+  U57<int>(tIsInt: true).runTests();
+  U57<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type58_test.dart b/tests/language/function_type/function_type58_test.dart
index 8fd76b2..dbb7c48 100644
--- a/tests/language/function_type/function_type58_test.dart
+++ b/tests/language/function_type/function_type58_test.dart
@@ -237,7 +237,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -286,7 +286,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -408,7 +408,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -637,7 +637,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -687,7 +687,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -886,7 +886,7 @@
 }
 
 void main() {
-  new U58().runTests();
-  new U58<int>(tIsInt: true).runTests();
-  new U58<bool>(tIsBool: true).runTests();
+  U58().runTests();
+  U58<int>(tIsInt: true).runTests();
+  U58<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type59_test.dart b/tests/language/function_type/function_type59_test.dart
index 05c3fd6..87a7310 100644
--- a/tests/language/function_type/function_type59_test.dart
+++ b/tests/language/function_type/function_type59_test.dart
@@ -259,7 +259,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -308,7 +308,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -431,7 +431,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -660,7 +660,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -710,7 +710,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -911,7 +911,7 @@
 }
 
 void main() {
-  new U59().runTests();
-  new U59<int>(tIsInt: true).runTests();
-  new U59<bool>(tIsBool: true).runTests();
+  U59().runTests();
+  U59<int>(tIsInt: true).runTests();
+  U59<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type5_test.dart b/tests/language/function_type/function_type5_test.dart
index f63f5e5..547d7c4 100644
--- a/tests/language/function_type/function_type5_test.dart
+++ b/tests/language/function_type/function_type5_test.dart
@@ -214,7 +214,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -433,7 +433,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -507,7 +507,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -608,7 +608,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -658,7 +658,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -804,7 +804,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -902,7 +902,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -926,7 +926,7 @@
 }
 
 void main() {
-  new U5().runTests();
-  new U5<int>(tIsInt: true).runTests();
-  new U5<bool>(tIsBool: true).runTests();
+  U5().runTests();
+  U5<int>(tIsInt: true).runTests();
+  U5<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type60_test.dart b/tests/language/function_type/function_type60_test.dart
index 1578d00..3aa09ca 100644
--- a/tests/language/function_type/function_type60_test.dart
+++ b/tests/language/function_type/function_type60_test.dart
@@ -204,7 +204,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -253,7 +253,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -326,7 +326,7 @@
     Expect.isFalse(f4 is F4<bool>);
     Expect.isTrue(confuse(f4) is F4<int>);
     Expect.isFalse(confuse(f4) is F4<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x4 = (f4 as dynamic);
       });
@@ -399,7 +399,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -595,7 +595,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -645,7 +645,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -694,7 +694,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -767,7 +767,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -888,7 +888,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -936,7 +936,7 @@
 }
 
 void main() {
-  new U60().runTests();
-  new U60<int>(tIsInt: true).runTests();
-  new U60<bool>(tIsBool: true).runTests();
+  U60().runTests();
+  U60<int>(tIsInt: true).runTests();
+  U60<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type61_test.dart b/tests/language/function_type/function_type61_test.dart
index 23f141b..3514c09 100644
--- a/tests/language/function_type/function_type61_test.dart
+++ b/tests/language/function_type/function_type61_test.dart
@@ -208,7 +208,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -257,7 +257,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -378,7 +378,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -575,7 +575,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -625,7 +625,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -674,7 +674,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -747,7 +747,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -868,7 +868,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -916,7 +916,7 @@
 }
 
 void main() {
-  new U61().runTests();
-  new U61<int>(tIsInt: true).runTests();
-  new U61<bool>(tIsBool: true).runTests();
+  U61().runTests();
+  U61<int>(tIsInt: true).runTests();
+  U61<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type62_test.dart b/tests/language/function_type/function_type62_test.dart
index 81b4ba0..e211a97 100644
--- a/tests/language/function_type/function_type62_test.dart
+++ b/tests/language/function_type/function_type62_test.dart
@@ -239,7 +239,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -288,7 +288,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -410,7 +410,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -613,7 +613,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -664,7 +664,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -714,7 +714,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -787,7 +787,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -912,7 +912,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -961,7 +961,7 @@
 }
 
 void main() {
-  new U62().runTests();
-  new U62<int>(tIsInt: true).runTests();
-  new U62<bool>(tIsBool: true).runTests();
+  U62().runTests();
+  U62<int>(tIsInt: true).runTests();
+  U62<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type63_test.dart b/tests/language/function_type/function_type63_test.dart
index 8427968..3466788 100644
--- a/tests/language/function_type/function_type63_test.dart
+++ b/tests/language/function_type/function_type63_test.dart
@@ -251,7 +251,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -300,7 +300,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -424,7 +424,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -629,7 +629,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -680,7 +680,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -730,7 +730,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -805,7 +805,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -931,7 +931,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -980,7 +980,7 @@
 }
 
 void main() {
-  new U63().runTests();
-  new U63<int>(tIsInt: true).runTests();
-  new U63<bool>(tIsBool: true).runTests();
+  U63().runTests();
+  U63<int>(tIsInt: true).runTests();
+  U63<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type64_test.dart b/tests/language/function_type/function_type64_test.dart
index 66fbdb2..68f9d1a 100644
--- a/tests/language/function_type/function_type64_test.dart
+++ b/tests/language/function_type/function_type64_test.dart
@@ -205,7 +205,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -254,7 +254,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -375,7 +375,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -448,7 +448,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -595,7 +595,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -644,7 +644,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -693,7 +693,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -766,7 +766,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -887,7 +887,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -935,7 +935,7 @@
 }
 
 void main() {
-  new U64().runTests();
-  new U64<int>(tIsInt: true).runTests();
-  new U64<bool>(tIsBool: true).runTests();
+  U64().runTests();
+  U64<int>(tIsInt: true).runTests();
+  U64<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type65_test.dart b/tests/language/function_type/function_type65_test.dart
index cada000..26bfd1e 100644
--- a/tests/language/function_type/function_type65_test.dart
+++ b/tests/language/function_type/function_type65_test.dart
@@ -206,7 +206,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -255,7 +255,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -377,7 +377,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -450,7 +450,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -599,7 +599,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -648,7 +648,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -697,7 +697,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -770,7 +770,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -892,7 +892,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -940,7 +940,7 @@
 }
 
 void main() {
-  new U65().runTests();
-  new U65<int>(tIsInt: true).runTests();
-  new U65<bool>(tIsBool: true).runTests();
+  U65().runTests();
+  U65<int>(tIsInt: true).runTests();
+  U65<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type66_test.dart b/tests/language/function_type/function_type66_test.dart
index c8c8767..0abd90f 100644
--- a/tests/language/function_type/function_type66_test.dart
+++ b/tests/language/function_type/function_type66_test.dart
@@ -238,7 +238,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -287,7 +287,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -410,7 +410,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -485,7 +485,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -639,7 +639,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -689,7 +689,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -739,7 +739,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -813,7 +813,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -939,7 +939,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -988,7 +988,7 @@
 }
 
 void main() {
-  new U66().runTests();
-  new U66<int>(tIsInt: true).runTests();
-  new U66<bool>(tIsBool: true).runTests();
+  U66().runTests();
+  U66<int>(tIsInt: true).runTests();
+  U66<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type67_test.dart b/tests/language/function_type/function_type67_test.dart
index 1b39735..bd17f3e 100644
--- a/tests/language/function_type/function_type67_test.dart
+++ b/tests/language/function_type/function_type67_test.dart
@@ -283,7 +283,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -408,7 +408,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -483,7 +483,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -637,7 +637,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -687,7 +687,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -737,7 +737,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -812,7 +812,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -938,7 +938,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -988,7 +988,7 @@
 }
 
 void main() {
-  new U67().runTests();
-  new U67<int>(tIsInt: true).runTests();
-  new U67<bool>(tIsBool: true).runTests();
+  U67().runTests();
+  U67<int>(tIsInt: true).runTests();
+  U67<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type68_test.dart b/tests/language/function_type/function_type68_test.dart
index d08d0e2..82bbc50 100644
--- a/tests/language/function_type/function_type68_test.dart
+++ b/tests/language/function_type/function_type68_test.dart
@@ -226,7 +226,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -347,7 +347,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -420,7 +420,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -568,7 +568,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -617,7 +617,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -666,7 +666,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -739,7 +739,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -861,7 +861,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -909,7 +909,7 @@
 }
 
 void main() {
-  new U68().runTests();
-  new U68<int>(tIsInt: true).runTests();
-  new U68<bool>(tIsBool: true).runTests();
+  U68().runTests();
+  U68<int>(tIsInt: true).runTests();
+  U68<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type69_test.dart b/tests/language/function_type/function_type69_test.dart
index 5e8e1b3..b9d8e74 100644
--- a/tests/language/function_type/function_type69_test.dart
+++ b/tests/language/function_type/function_type69_test.dart
@@ -232,7 +232,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -353,7 +353,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -426,7 +426,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -574,7 +574,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -623,7 +623,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -672,7 +672,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -745,7 +745,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -867,7 +867,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -916,7 +916,7 @@
 }
 
 void main() {
-  new U69().runTests();
-  new U69<int>(tIsInt: true).runTests();
-  new U69<bool>(tIsBool: true).runTests();
+  U69().runTests();
+  U69<int>(tIsInt: true).runTests();
+  U69<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type6_test.dart b/tests/language/function_type/function_type6_test.dart
index 1680c99..b5fbbea 100644
--- a/tests/language/function_type/function_type6_test.dart
+++ b/tests/language/function_type/function_type6_test.dart
@@ -249,7 +249,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -472,7 +472,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -548,7 +548,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -651,7 +651,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -702,7 +702,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -850,7 +850,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -951,7 +951,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -975,7 +975,7 @@
 }
 
 void main() {
-  new U6().runTests();
-  new U6<int>(tIsInt: true).runTests();
-  new U6<bool>(tIsBool: true).runTests();
+  U6().runTests();
+  U6<int>(tIsInt: true).runTests();
+  U6<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type70_test.dart b/tests/language/function_type/function_type70_test.dart
index 064d5a8..1d71adb 100644
--- a/tests/language/function_type/function_type70_test.dart
+++ b/tests/language/function_type/function_type70_test.dart
@@ -260,7 +260,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -383,7 +383,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -458,7 +458,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -611,7 +611,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -661,7 +661,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -711,7 +711,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -786,7 +786,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -912,7 +912,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -962,7 +962,7 @@
 }
 
 void main() {
-  new U70().runTests();
-  new U70<int>(tIsInt: true).runTests();
-  new U70<bool>(tIsBool: true).runTests();
+  U70().runTests();
+  U70<int>(tIsInt: true).runTests();
+  U70<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type71_test.dart b/tests/language/function_type/function_type71_test.dart
index 8df3c9b..00b0e55 100644
--- a/tests/language/function_type/function_type71_test.dart
+++ b/tests/language/function_type/function_type71_test.dart
@@ -286,7 +286,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -410,7 +410,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -485,7 +485,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -639,7 +639,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -689,7 +689,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -739,7 +739,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -814,7 +814,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -941,7 +941,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -991,7 +991,7 @@
 }
 
 void main() {
-  new U71().runTests();
-  new U71<int>(tIsInt: true).runTests();
-  new U71<bool>(tIsBool: true).runTests();
+  U71().runTests();
+  U71<int>(tIsInt: true).runTests();
+  U71<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type72_test.dart b/tests/language/function_type/function_type72_test.dart
index b1ed9a8..0ef00cf 100644
--- a/tests/language/function_type/function_type72_test.dart
+++ b/tests/language/function_type/function_type72_test.dart
@@ -230,7 +230,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -351,7 +351,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -424,7 +424,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -571,7 +571,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -620,7 +620,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -669,7 +669,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -742,7 +742,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -863,7 +863,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -912,7 +912,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -936,7 +936,7 @@
 }
 
 void main() {
-  new U72().runTests();
-  new U72<int>(tIsInt: true).runTests();
-  new U72<bool>(tIsBool: true).runTests();
+  U72().runTests();
+  U72<int>(tIsInt: true).runTests();
+  U72<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type73_test.dart b/tests/language/function_type/function_type73_test.dart
index 9b5313a..ad04427 100644
--- a/tests/language/function_type/function_type73_test.dart
+++ b/tests/language/function_type/function_type73_test.dart
@@ -234,7 +234,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -355,7 +355,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -428,7 +428,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -576,7 +576,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -626,7 +626,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -675,7 +675,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -748,7 +748,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -872,7 +872,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -921,7 +921,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -945,7 +945,7 @@
 }
 
 void main() {
-  new U73().runTests();
-  new U73<int>(tIsInt: true).runTests();
-  new U73<bool>(tIsBool: true).runTests();
+  U73().runTests();
+  U73<int>(tIsInt: true).runTests();
+  U73<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type74_test.dart b/tests/language/function_type/function_type74_test.dart
index 77f9727..98dd3e5 100644
--- a/tests/language/function_type/function_type74_test.dart
+++ b/tests/language/function_type/function_type74_test.dart
@@ -268,7 +268,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -392,7 +392,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -467,7 +467,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -620,7 +620,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -670,7 +670,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -720,7 +720,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -795,7 +795,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -921,7 +921,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -971,7 +971,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -995,7 +995,7 @@
 }
 
 void main() {
-  new U74().runTests();
-  new U74<int>(tIsInt: true).runTests();
-  new U74<bool>(tIsBool: true).runTests();
+  U74().runTests();
+  U74<int>(tIsInt: true).runTests();
+  U74<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type75_test.dart b/tests/language/function_type/function_type75_test.dart
index c1518600..60ca5ea 100644
--- a/tests/language/function_type/function_type75_test.dart
+++ b/tests/language/function_type/function_type75_test.dart
@@ -285,7 +285,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -409,7 +409,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -485,7 +485,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -638,7 +638,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -689,7 +689,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -739,7 +739,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -814,7 +814,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -942,7 +942,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -992,7 +992,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -1016,7 +1016,7 @@
 }
 
 void main() {
-  new U75().runTests();
-  new U75<int>(tIsInt: true).runTests();
-  new U75<bool>(tIsBool: true).runTests();
+  U75().runTests();
+  U75<int>(tIsInt: true).runTests();
+  U75<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type76_test.dart b/tests/language/function_type/function_type76_test.dart
index 2123095..81e092f 100644
--- a/tests/language/function_type/function_type76_test.dart
+++ b/tests/language/function_type/function_type76_test.dart
@@ -230,7 +230,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -351,7 +351,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -424,7 +424,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -573,7 +573,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -622,7 +622,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -671,7 +671,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -744,7 +744,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -867,7 +867,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -915,7 +915,7 @@
 }
 
 void main() {
-  new U76().runTests();
-  new U76<int>(tIsInt: true).runTests();
-  new U76<bool>(tIsBool: true).runTests();
+  U76().runTests();
+  U76<int>(tIsInt: true).runTests();
+  U76<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type77_test.dart b/tests/language/function_type/function_type77_test.dart
index 050e7b2..64c3b8c 100644
--- a/tests/language/function_type/function_type77_test.dart
+++ b/tests/language/function_type/function_type77_test.dart
@@ -232,7 +232,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -353,7 +353,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -426,7 +426,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -576,7 +576,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -626,7 +626,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -675,7 +675,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -748,7 +748,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -871,7 +871,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -919,7 +919,7 @@
 }
 
 void main() {
-  new U77().runTests();
-  new U77<int>(tIsInt: true).runTests();
-  new U77<bool>(tIsBool: true).runTests();
+  U77().runTests();
+  U77<int>(tIsInt: true).runTests();
+  U77<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type78_test.dart b/tests/language/function_type/function_type78_test.dart
index 4d3819d..0c7a9b4 100644
--- a/tests/language/function_type/function_type78_test.dart
+++ b/tests/language/function_type/function_type78_test.dart
@@ -266,7 +266,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -390,7 +390,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -465,7 +465,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -618,7 +618,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -669,7 +669,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -719,7 +719,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -793,7 +793,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -920,7 +920,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -968,7 +968,7 @@
 }
 
 void main() {
-  new U78().runTests();
-  new U78<int>(tIsInt: true).runTests();
-  new U78<bool>(tIsBool: true).runTests();
+  U78().runTests();
+  U78<int>(tIsInt: true).runTests();
+  U78<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type79_test.dart b/tests/language/function_type/function_type79_test.dart
index 9f3e55b..3b86590 100644
--- a/tests/language/function_type/function_type79_test.dart
+++ b/tests/language/function_type/function_type79_test.dart
@@ -285,7 +285,7 @@
     Expect.isFalse(f2 is F2<bool>);
     Expect.isTrue(confuse(f2) is F2<int>);
     Expect.isFalse(confuse(f2) is F2<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x2 = (f2 as dynamic);
       });
@@ -409,7 +409,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -485,7 +485,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -639,7 +639,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -690,7 +690,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -741,7 +741,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -815,7 +815,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -942,7 +942,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -991,7 +991,7 @@
 }
 
 void main() {
-  new U79().runTests();
-  new U79<int>(tIsInt: true).runTests();
-  new U79<bool>(tIsBool: true).runTests();
+  U79().runTests();
+  U79<int>(tIsInt: true).runTests();
+  U79<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type7_test.dart b/tests/language/function_type/function_type7_test.dart
index 9c690f5..2f20300 100644
--- a/tests/language/function_type/function_type7_test.dart
+++ b/tests/language/function_type/function_type7_test.dart
@@ -265,7 +265,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -491,7 +491,7 @@
     Expect.isFalse(f9 is F9<bool>);
     Expect.isTrue(confuse(f9) is F9<int>);
     Expect.isFalse(confuse(f9) is F9<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x9 = (f9 as dynamic);
       });
@@ -567,7 +567,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -670,7 +670,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -721,7 +721,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -870,7 +870,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -971,7 +971,7 @@
     Expect.isFalse(f23 is F23<bool>);
     Expect.isTrue(confuse(f23) is F23<int>);
     Expect.isFalse(confuse(f23) is F23<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x23 = (f23 as dynamic);
       });
@@ -995,7 +995,7 @@
 }
 
 void main() {
-  new U7().runTests();
-  new U7<int>(tIsInt: true).runTests();
-  new U7<bool>(tIsBool: true).runTests();
+  U7().runTests();
+  U7<int>(tIsInt: true).runTests();
+  U7<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type80_test.dart b/tests/language/function_type/function_type80_test.dart
index 52e4e27..da867af 100644
--- a/tests/language/function_type/function_type80_test.dart
+++ b/tests/language/function_type/function_type80_test.dart
@@ -256,7 +256,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -353,7 +353,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -426,7 +426,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -574,7 +574,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -623,7 +623,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -672,7 +672,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -745,7 +745,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -843,7 +843,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -892,7 +892,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -940,7 +940,7 @@
 }
 
 void main() {
-  new U80().runTests();
-  new U80<int>(tIsInt: true).runTests();
-  new U80<bool>(tIsBool: true).runTests();
+  U80().runTests();
+  U80<int>(tIsInt: true).runTests();
+  U80<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type81_test.dart b/tests/language/function_type/function_type81_test.dart
index 39f4f23..8571f5dc 100644
--- a/tests/language/function_type/function_type81_test.dart
+++ b/tests/language/function_type/function_type81_test.dart
@@ -260,7 +260,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -357,7 +357,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -430,7 +430,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -581,7 +581,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -630,7 +630,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -679,7 +679,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -752,7 +752,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -850,7 +850,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -899,7 +899,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -947,7 +947,7 @@
 }
 
 void main() {
-  new U81().runTests();
-  new U81<int>(tIsInt: true).runTests();
-  new U81<bool>(tIsBool: true).runTests();
+  U81().runTests();
+  U81<int>(tIsInt: true).runTests();
+  U81<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type82_test.dart b/tests/language/function_type/function_type82_test.dart
index 95615d5..e8149d7 100644
--- a/tests/language/function_type/function_type82_test.dart
+++ b/tests/language/function_type/function_type82_test.dart
@@ -284,7 +284,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -383,7 +383,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -458,7 +458,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -611,7 +611,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -661,7 +661,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -710,7 +710,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -784,7 +784,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -885,7 +885,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -934,7 +934,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -983,7 +983,7 @@
 }
 
 void main() {
-  new U82().runTests();
-  new U82<int>(tIsInt: true).runTests();
-  new U82<bool>(tIsBool: true).runTests();
+  U82().runTests();
+  U82<int>(tIsInt: true).runTests();
+  U82<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type83_test.dart b/tests/language/function_type/function_type83_test.dart
index cc2a799..00ea0be 100644
--- a/tests/language/function_type/function_type83_test.dart
+++ b/tests/language/function_type/function_type83_test.dart
@@ -298,7 +298,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -398,7 +398,7 @@
     Expect.isFalse(f6 is F6<bool>);
     Expect.isTrue(confuse(f6) is F6<int>);
     Expect.isFalse(confuse(f6) is F6<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x6 = (f6 as dynamic);
       });
@@ -474,7 +474,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -629,7 +629,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -680,7 +680,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -730,7 +730,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -805,7 +805,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -906,7 +906,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -956,7 +956,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -1005,7 +1005,7 @@
 }
 
 void main() {
-  new U83().runTests();
-  new U83<int>(tIsInt: true).runTests();
-  new U83<bool>(tIsBool: true).runTests();
+  U83().runTests();
+  U83<int>(tIsInt: true).runTests();
+  U83<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type84_test.dart b/tests/language/function_type/function_type84_test.dart
index ef112d2..2e15eb1 100644
--- a/tests/language/function_type/function_type84_test.dart
+++ b/tests/language/function_type/function_type84_test.dart
@@ -253,7 +253,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -398,7 +398,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -545,7 +545,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -594,7 +594,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -691,7 +691,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -764,7 +764,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -837,7 +837,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -885,7 +885,7 @@
 }
 
 void main() {
-  new U84().runTests();
-  new U84<int>(tIsInt: true).runTests();
-  new U84<bool>(tIsBool: true).runTests();
+  U84().runTests();
+  U84<int>(tIsInt: true).runTests();
+  U84<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type85_test.dart b/tests/language/function_type/function_type85_test.dart
index 650f0dd..1082d10 100644
--- a/tests/language/function_type/function_type85_test.dart
+++ b/tests/language/function_type/function_type85_test.dart
@@ -259,7 +259,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -405,7 +405,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -554,7 +554,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -604,7 +604,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -701,7 +701,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -774,7 +774,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -847,7 +847,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -895,7 +895,7 @@
 }
 
 void main() {
-  new U85().runTests();
-  new U85<int>(tIsInt: true).runTests();
-  new U85<bool>(tIsBool: true).runTests();
+  U85().runTests();
+  U85<int>(tIsInt: true).runTests();
+  U85<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type86_test.dart b/tests/language/function_type/function_type86_test.dart
index 9bd7541..aae4292 100644
--- a/tests/language/function_type/function_type86_test.dart
+++ b/tests/language/function_type/function_type86_test.dart
@@ -279,7 +279,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -428,7 +428,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -582,7 +582,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -633,7 +633,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -732,7 +732,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -807,7 +807,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -881,7 +881,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -930,7 +930,7 @@
 }
 
 void main() {
-  new U86().runTests();
-  new U86<int>(tIsInt: true).runTests();
-  new U86<bool>(tIsBool: true).runTests();
+  U86().runTests();
+  U86<int>(tIsInt: true).runTests();
+  U86<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type87_test.dart b/tests/language/function_type/function_type87_test.dart
index 13139c1..1554566 100644
--- a/tests/language/function_type/function_type87_test.dart
+++ b/tests/language/function_type/function_type87_test.dart
@@ -295,7 +295,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -445,7 +445,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -599,7 +599,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -650,7 +650,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -749,7 +749,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -824,7 +824,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -899,7 +899,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -948,7 +948,7 @@
 }
 
 void main() {
-  new U87().runTests();
-  new U87<int>(tIsInt: true).runTests();
-  new U87<bool>(tIsBool: true).runTests();
+  U87().runTests();
+  U87<int>(tIsInt: true).runTests();
+  U87<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type88_test.dart b/tests/language/function_type/function_type88_test.dart
index 01cbfbb..2e1fae7 100644
--- a/tests/language/function_type/function_type88_test.dart
+++ b/tests/language/function_type/function_type88_test.dart
@@ -252,7 +252,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -398,7 +398,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -471,7 +471,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -570,7 +570,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -620,7 +620,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -717,7 +717,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -790,7 +790,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -863,7 +863,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -911,7 +911,7 @@
 }
 
 void main() {
-  new U88().runTests();
-  new U88<int>(tIsInt: true).runTests();
-  new U88<bool>(tIsBool: true).runTests();
+  U88().runTests();
+  U88<int>(tIsInt: true).runTests();
+  U88<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type89_test.dart b/tests/language/function_type/function_type89_test.dart
index 2f0b29d..c92fee9 100644
--- a/tests/language/function_type/function_type89_test.dart
+++ b/tests/language/function_type/function_type89_test.dart
@@ -256,7 +256,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -402,7 +402,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -475,7 +475,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -574,7 +574,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -624,7 +624,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -721,7 +721,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -794,7 +794,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -867,7 +867,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -915,7 +915,7 @@
 }
 
 void main() {
-  new U89().runTests();
-  new U89<int>(tIsInt: true).runTests();
-  new U89<bool>(tIsBool: true).runTests();
+  U89().runTests();
+  U89<int>(tIsInt: true).runTests();
+  U89<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type8_test.dart b/tests/language/function_type/function_type8_test.dart
index 4c4f2eb..d76d2ab 100644
--- a/tests/language/function_type/function_type8_test.dart
+++ b/tests/language/function_type/function_type8_test.dart
@@ -213,7 +213,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -481,7 +481,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -581,7 +581,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -630,7 +630,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -775,7 +775,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -849,7 +849,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -897,7 +897,7 @@
 }
 
 void main() {
-  new U8().runTests();
-  new U8<int>(tIsInt: true).runTests();
-  new U8<bool>(tIsBool: true).runTests();
+  U8().runTests();
+  U8<int>(tIsInt: true).runTests();
+  U8<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type90_test.dart b/tests/language/function_type/function_type90_test.dart
index 3b56bf8..bb90c92 100644
--- a/tests/language/function_type/function_type90_test.dart
+++ b/tests/language/function_type/function_type90_test.dart
@@ -280,7 +280,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -431,7 +431,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -506,7 +506,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -608,7 +608,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -659,7 +659,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -758,7 +758,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -833,7 +833,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -908,7 +908,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -957,7 +957,7 @@
 }
 
 void main() {
-  new U90().runTests();
-  new U90<int>(tIsInt: true).runTests();
-  new U90<bool>(tIsBool: true).runTests();
+  U90().runTests();
+  U90<int>(tIsInt: true).runTests();
+  U90<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type91_test.dart b/tests/language/function_type/function_type91_test.dart
index a20b0ff..44d16e5 100644
--- a/tests/language/function_type/function_type91_test.dart
+++ b/tests/language/function_type/function_type91_test.dart
@@ -421,7 +421,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -497,7 +497,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -599,7 +599,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -650,7 +650,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -749,7 +749,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -824,7 +824,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -899,7 +899,7 @@
     Expect.isFalse(f21 is F21<bool>);
     Expect.isTrue(confuse(f21) is F21<int>);
     Expect.isFalse(confuse(f21) is F21<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x21 = (f21 as dynamic);
       });
@@ -948,7 +948,7 @@
 }
 
 void main() {
-  new U91().runTests();
-  new U91<int>(tIsInt: true).runTests();
-  new U91<bool>(tIsBool: true).runTests();
+  U91().runTests();
+  U91<int>(tIsInt: true).runTests();
+  U91<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type92_test.dart b/tests/language/function_type/function_type92_test.dart
index 267ac18..17263e4 100644
--- a/tests/language/function_type/function_type92_test.dart
+++ b/tests/language/function_type/function_type92_test.dart
@@ -375,7 +375,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -448,7 +448,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -547,7 +547,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -596,7 +596,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -693,7 +693,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -766,7 +766,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -862,7 +862,7 @@
 }
 
 void main() {
-  new U92().runTests();
-  new U92<int>(tIsInt: true).runTests();
-  new U92<bool>(tIsBool: true).runTests();
+  U92().runTests();
+  U92<int>(tIsInt: true).runTests();
+  U92<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type93_test.dart b/tests/language/function_type/function_type93_test.dart
index 209e66e..090abe70 100644
--- a/tests/language/function_type/function_type93_test.dart
+++ b/tests/language/function_type/function_type93_test.dart
@@ -381,7 +381,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -455,7 +455,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -556,7 +556,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -606,7 +606,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -703,7 +703,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -776,7 +776,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -872,7 +872,7 @@
 }
 
 void main() {
-  new U93().runTests();
-  new U93<int>(tIsInt: true).runTests();
-  new U93<bool>(tIsBool: true).runTests();
+  U93().runTests();
+  U93<int>(tIsInt: true).runTests();
+  U93<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type94_test.dart b/tests/language/function_type/function_type94_test.dart
index cae1c14..211cf32 100644
--- a/tests/language/function_type/function_type94_test.dart
+++ b/tests/language/function_type/function_type94_test.dart
@@ -406,7 +406,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -482,7 +482,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -585,7 +585,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -635,7 +635,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -733,7 +733,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -808,7 +808,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -906,7 +906,7 @@
 }
 
 void main() {
-  new U94().runTests();
-  new U94<int>(tIsInt: true).runTests();
-  new U94<bool>(tIsBool: true).runTests();
+  U94().runTests();
+  U94<int>(tIsInt: true).runTests();
+  U94<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type95_test.dart b/tests/language/function_type/function_type95_test.dart
index 53fc1cd..6081259 100644
--- a/tests/language/function_type/function_type95_test.dart
+++ b/tests/language/function_type/function_type95_test.dart
@@ -421,7 +421,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -498,7 +498,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -601,7 +601,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -652,7 +652,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -752,7 +752,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -827,7 +827,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -926,7 +926,7 @@
 }
 
 void main() {
-  new U95().runTests();
-  new U95<int>(tIsInt: true).runTests();
-  new U95<bool>(tIsBool: true).runTests();
+  U95().runTests();
+  U95<int>(tIsInt: true).runTests();
+  U95<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type96_test.dart b/tests/language/function_type/function_type96_test.dart
index fe88d8d..72134a7 100644
--- a/tests/language/function_type/function_type96_test.dart
+++ b/tests/language/function_type/function_type96_test.dart
@@ -256,7 +256,7 @@
     Expect.isFalse(f3 is F3<bool>);
     Expect.isTrue(confuse(f3) is F3<int>);
     Expect.isFalse(confuse(f3) is F3<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x3 = (f3 as dynamic);
       });
@@ -401,7 +401,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -475,7 +475,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -574,7 +574,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -623,7 +623,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -720,7 +720,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -793,7 +793,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -889,7 +889,7 @@
 }
 
 void main() {
-  new U96().runTests();
-  new U96<int>(tIsInt: true).runTests();
-  new U96<bool>(tIsBool: true).runTests();
+  U96().runTests();
+  U96<int>(tIsInt: true).runTests();
+  U96<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type97_test.dart b/tests/language/function_type/function_type97_test.dart
index 07d95c6..a6c62f5 100644
--- a/tests/language/function_type/function_type97_test.dart
+++ b/tests/language/function_type/function_type97_test.dart
@@ -376,7 +376,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -451,7 +451,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -552,7 +552,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -602,7 +602,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -699,7 +699,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -772,7 +772,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -868,7 +868,7 @@
 }
 
 void main() {
-  new U97().runTests();
-  new U97<int>(tIsInt: true).runTests();
-  new U97<bool>(tIsBool: true).runTests();
+  U97().runTests();
+  U97<int>(tIsInt: true).runTests();
+  U97<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type98_test.dart b/tests/language/function_type/function_type98_test.dart
index af13aa9..6362207 100644
--- a/tests/language/function_type/function_type98_test.dart
+++ b/tests/language/function_type/function_type98_test.dart
@@ -408,7 +408,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -485,7 +485,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -587,7 +587,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -638,7 +638,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -738,7 +738,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -813,7 +813,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -912,7 +912,7 @@
 }
 
 void main() {
-  new U98().runTests();
-  new U98<int>(tIsInt: true).runTests();
-  new U98<bool>(tIsBool: true).runTests();
+  U98().runTests();
+  U98<int>(tIsInt: true).runTests();
+  U98<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type99_test.dart b/tests/language/function_type/function_type99_test.dart
index dbf9894..87b7983 100644
--- a/tests/language/function_type/function_type99_test.dart
+++ b/tests/language/function_type/function_type99_test.dart
@@ -432,7 +432,7 @@
     Expect.isFalse(f8 is F8<bool>);
     Expect.isTrue(confuse(f8) is F8<int>);
     Expect.isFalse(confuse(f8) is F8<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x8 = (f8 as dynamic);
       });
@@ -509,7 +509,7 @@
     Expect.isFalse(f10 is F10<bool>);
     Expect.isTrue(confuse(f10) is F10<int>);
     Expect.isFalse(confuse(f10) is F10<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x10 = (f10 as dynamic);
       });
@@ -612,7 +612,7 @@
     Expect.isFalse(f13 is F13<bool>);
     Expect.isTrue(confuse(f13) is F13<int>);
     Expect.isFalse(confuse(f13) is F13<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x13 = (f13 as dynamic);
       });
@@ -663,7 +663,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -763,7 +763,7 @@
     Expect.isFalse(f17 is F17<bool>);
     Expect.isTrue(confuse(f17) is F17<int>);
     Expect.isFalse(confuse(f17) is F17<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x17 = (f17 as dynamic);
       });
@@ -838,7 +838,7 @@
     Expect.isFalse(f19 is F19<bool>);
     Expect.isTrue(confuse(f19) is F19<int>);
     Expect.isFalse(confuse(f19) is F19<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x19 = (f19 as dynamic);
       });
@@ -937,7 +937,7 @@
 }
 
 void main() {
-  new U99().runTests();
-  new U99<int>(tIsInt: true).runTests();
-  new U99<bool>(tIsBool: true).runTests();
+  U99().runTests();
+  U99<int>(tIsInt: true).runTests();
+  U99<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/function_type9_test.dart b/tests/language/function_type/function_type9_test.dart
index 5d94411..d5268bc 100644
--- a/tests/language/function_type/function_type9_test.dart
+++ b/tests/language/function_type/function_type9_test.dart
@@ -219,7 +219,7 @@
     Expect.isFalse(f1 is F1<bool>);
     Expect.isTrue(confuse(f1) is F1<int>);
     Expect.isFalse(confuse(f1) is F1<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x1 = (f1 as dynamic);
       });
@@ -486,7 +486,7 @@
     Expect.isFalse(f11 is F11<bool>);
     Expect.isTrue(confuse(f11) is F11<int>);
     Expect.isFalse(confuse(f11) is F11<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x11 = (f11 as dynamic);
       });
@@ -587,7 +587,7 @@
     Expect.isFalse(f14 is F14<bool>);
     Expect.isTrue(confuse(f14) is F14<int>);
     Expect.isFalse(confuse(f14) is F14<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x14 = (f14 as dynamic);
       });
@@ -636,7 +636,7 @@
     Expect.isFalse(f15 is F15<bool>);
     Expect.isTrue(confuse(f15) is F15<int>);
     Expect.isFalse(confuse(f15) is F15<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x15 = (f15 as dynamic);
       });
@@ -782,7 +782,7 @@
     Expect.isFalse(f20 is F20<bool>);
     Expect.isTrue(confuse(f20) is F20<int>);
     Expect.isFalse(confuse(f20) is F20<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x20 = (f20 as dynamic);
       });
@@ -856,7 +856,7 @@
     Expect.isFalse(f22 is F22<bool>);
     Expect.isTrue(confuse(f22) is F22<int>);
     Expect.isFalse(confuse(f22) is F22<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() {
         x22 = (f22 as dynamic);
       });
@@ -904,7 +904,7 @@
 }
 
 void main() {
-  new U9().runTests();
-  new U9<int>(tIsInt: true).runTests();
-  new U9<bool>(tIsBool: true).runTests();
+  U9().runTests();
+  U9<int>(tIsInt: true).runTests();
+  U9<bool>(tIsBool: true).runTests();
 }
diff --git a/tests/language/function_type/test_generator.dart b/tests/language/function_type/test_generator.dart
index 3a800d9..cfadb62 100644
--- a/tests/language/function_type/test_generator.dart
+++ b/tests/language/function_type/test_generator.dart
@@ -49,8 +49,8 @@
 bool shouldReplaceTWithInt = false;
 
 class Parameter implements TypeLike {
-  final TypeLike type;
-  final String name;
+  final TypeLike? type;
+  final String? name;
 
   Parameter(this.type, this.name);
 
@@ -60,7 +60,7 @@
     if (type == null) {
       buffer.write("null");
     } else {
-      type.writeIdentifier(buffer);
+      type!.writeIdentifier(buffer);
     }
     buffer.write("_");
     buffer.write(name);
@@ -69,26 +69,26 @@
   void writeType(StringBuffer buffer) {
     assert(type != null || name != null);
     if (name == null) {
-      type.writeType(buffer);
+      type!.writeType(buffer);
     } else if (type == null) {
       buffer.write(name);
     } else {
-      type.writeType(buffer);
+      type!.writeType(buffer);
       buffer.write(" ");
       buffer.write(name);
     }
   }
 
-  void writeInFunction(StringBuffer buffer, {bool optional}) {
+  void writeInFunction(StringBuffer buffer, {required bool optional}) {
     assert(type != null || name != null);
     if (name == null) {
-      type.writeType(buffer);
+      type!.writeType(buffer);
       buffer.write(" x");
       buffer.write(parameterNameCounter++);
     } else if (type == null) {
       buffer.write(name);
     } else {
-      type.writeType(buffer);
+      type!.writeType(buffer);
       buffer.write(" ");
       buffer.write(name);
     }
@@ -130,7 +130,7 @@
 
 class GenericParameter implements TypeLike {
   final String name;
-  final TypeLike bound;
+  final TypeLike? bound;
 
   GenericParameter(this.name, [this.bound]);
 
@@ -142,7 +142,7 @@
     if (bound == null) {
       buffer.write("null");
     } else {
-      bound.writeIdentifier(buffer);
+      bound!.writeIdentifier(buffer);
     }
   }
 
@@ -151,7 +151,7 @@
     buffer.write(name);
     if (bound != null) {
       buffer.write(" extends ");
-      bound.writeType(buffer);
+      bound!.writeType(buffer);
     }
   }
 
@@ -170,7 +170,7 @@
   bool get returnsT => bound?.returnsT ?? false;
 }
 
-void _describeList(StringBuffer buffer, List<Printable> list) {
+void _describeList(StringBuffer buffer, List<Printable>? list) {
   if (list == null) {
     buffer.write("0");
     return;
@@ -183,7 +183,7 @@
   }
 }
 
-void _writeTypes(StringBuffer buffer, List<TypeLike> list,
+void _writeTypes(StringBuffer buffer, List<TypeLike>? list,
     [String prefix = "", String postfix = ""]) {
   if (list == null || list.isEmpty) return;
   buffer.write(prefix);
@@ -200,7 +200,7 @@
 /// output are formal parameter types of a function type (where default values
 /// and names of positional parameters are omitted).
 void _writeParameters(
-    StringBuffer buffer, List<Parameter> list, bool inFunction,
+    StringBuffer buffer, List<Parameter>? list, bool inFunction,
     [String prefix = "", String postfix = ""]) {
   if (list == null || list.isEmpty) return;
   buffer.write(prefix);
@@ -215,12 +215,12 @@
   buffer.write(postfix);
 }
 
-bool _listUsesT(List elements) {
+bool _listUsesT(List? elements) {
   if (elements == null) return false;
   return elements.any((p) => p.usesT);
 }
 
-bool _listEquals(List list1, List list2) {
+bool _listEquals(List? list1, List? list2) {
   if (list1 == list2) return true; // Also covers both being null.
   if (list1 == null || list2 == null) return false;
   for (int i = 0; i < list1.length; i++) {
@@ -229,7 +229,7 @@
   return true;
 }
 
-int _listHash(List list) {
+int _listHash(List? list) {
   if (list == null) return null.hashCode;
   int result = 71;
   for (int i = 0; i < list.length; i++) {
@@ -239,11 +239,11 @@
 }
 
 class FunctionType implements TypeLike {
-  final TypeLike returnType;
-  final List<GenericParameter> generic;
+  final TypeLike? returnType;
+  final List<GenericParameter>? generic;
   final List<Parameter> required;
-  final List<Parameter> optional;
-  final List<Parameter> named;
+  final List<Parameter>? optional;
+  final List<Parameter>? named;
 
   FunctionType(this.returnType, this.generic, this.required,
       [this.optional, this.named]);
@@ -254,7 +254,7 @@
     if (returnType == null) {
       buffer.write("null");
     } else {
-      returnType.writeIdentifier(buffer);
+      returnType!.writeIdentifier(buffer);
     }
     buffer.write("_");
     _describeList(buffer, generic);
@@ -269,7 +269,7 @@
   @override
   writeType(buffer) {
     if (returnType != null) {
-      returnType.writeType(buffer);
+      returnType!.writeType(buffer);
       buffer.write(" ");
     }
     buffer.write("Function");
@@ -277,9 +277,7 @@
     buffer.write("(");
     bool inFunction = false;
     _writeParameters(buffer, required, inFunction);
-    if ((optional != null || named != null) &&
-        required != null &&
-        required.isNotEmpty) {
+    if ((optional != null || named != null) && required.isNotEmpty) {
       buffer.write(", ");
     }
     _writeParameters(buffer, optional, inFunction, "[", "]");
@@ -293,7 +291,7 @@
     parameterNameCounter = 0;
 
     if (returnType != null) {
-      returnType.writeType(buffer);
+      returnType!.writeType(buffer);
       buffer.write(" ");
     }
 
@@ -302,9 +300,7 @@
     buffer.write("(");
     bool inFunction = true;
     _writeParameters(buffer, required, inFunction);
-    if ((optional != null || named != null) &&
-        required != null &&
-        required.isNotEmpty) {
+    if ((optional != null || named != null) && required.isNotEmpty) {
       buffer.write(", ");
     }
     _writeParameters(buffer, optional, inFunction, "[", "]");
@@ -315,7 +311,8 @@
   }
 
   bool operator ==(other) {
-    return returnType == other.returnType &&
+    return other is FunctionType &&
+        returnType == other.returnType &&
         _listEquals(generic, other.generic) &&
         _listEquals(required, other.required) &&
         _listEquals(optional, other.optional) &&
@@ -354,9 +351,9 @@
 }
 
 class NominalType implements TypeLike {
-  final String prefix;
+  final String? prefix;
   final String name;
-  final List<TypeLike> generic;
+  final List<TypeLike>? generic;
 
   NominalType(this.name, [this.prefix, this.generic]);
 
@@ -392,145 +389,144 @@
 
   bool get usesT => name == "T" || _listUsesT(generic);
 
-  bool get returnsT => name == "T" || generic?.any((t) => t.returnsT) ?? false;
+  bool get returnsT =>
+      name == "T" || (generic?.any((t) => t.returnsT) ?? false);
 
   bool get takesT => generic?.any((t) => t.takesT) ?? false;
 }
 
-List<TypeLike> buildFunctionTypes() {
+List<FunctionType> buildFunctionTypes() {
   List<GenericParameter> as = [
-    new GenericParameter("A"),
+    GenericParameter("A"),
     // new GenericParameter("A", new NominalType("int")),
     // new GenericParameter("A", new NominalType("int", "core")),
   ];
   List<GenericParameter> bs = [
     // new GenericParameter("B"),
     // new GenericParameter("B", new NominalType("int")),
-    new GenericParameter("B", new NominalType("int", "core")),
+    GenericParameter("B", NominalType("int", "core")),
   ];
   List<TypeLike> basicTypes = [
-    new NominalType("int"),
+    NominalType("int"),
     // new NominalType("int", "core"),
     // new NominalType("List"),
     // new NominalType("List", "core"),
-    new NominalType("Function"),
-    new NominalType("List", "", [new NominalType("Function")]),
-    new NominalType("List", "core", [new NominalType("int", "core")]),
-    new NominalType("List", "", [new NominalType("T")]),
+    NominalType("Function"),
+    NominalType("List", "", [NominalType("Function")]),
+    NominalType("List", "core", [NominalType("int", "core")]),
+    NominalType("List", "", [NominalType("T")]),
     // new NominalType("List", "", [new NominalType("Function")]),
   ];
 
-  List<TypeLike> basicsPlusNull = [
+  List<TypeLike?> basicsPlusNull = [
     basicTypes,
-    <TypeLike>[null]
+    <TypeLike?>[null]
   ].expand((x) => x).toList();
 
-  List<TypeLike> basicsPlusNullPlusVoid = [
+  List<TypeLike?> basicsPlusNullPlusVoid = [
     basicsPlusNull,
-    [new NominalType("void")],
+    [NominalType("void")],
   ].expand((x) => x).toList();
 
-  List<TypeLike> basicsPlusNullPlusB = [
+  List<TypeLike?> basicsPlusNullPlusB = [
     basicsPlusNull,
     [
-      new NominalType("B"),
-      new NominalType("List", "", [new NominalType("B")])
+      NominalType("B"),
+      NominalType("List", "", [NominalType("B")])
     ]
   ].expand((x) => x).toList();
 
-  List<TypeLike> basicsPlusNullPlusBPlusVoid = [
+  List<TypeLike?> basicsPlusNullPlusBPlusVoid = [
     basicsPlusNullPlusB,
-    [new NominalType("void")],
+    [NominalType("void")],
   ].expand((x) => x).toList();
 
-  List<TypeLike> basicsPlusNullPlusA = [
+  List<TypeLike?> basicsPlusNullPlusA = [
     basicsPlusNull,
     [
-      new NominalType("A"),
-      new NominalType("List", "", [new NominalType("A")])
+      NominalType("A"),
+      NominalType("List", "", [NominalType("A")])
     ]
   ].expand((x) => x).toList();
 
-  List<TypeLike> basicsPlusNullPlusAPlusVoid = [
+  List<TypeLike?> basicsPlusNullPlusAPlusVoid = [
     basicsPlusNullPlusA,
-    [new NominalType("void")],
+    [NominalType("void")],
   ].expand((x) => x).toList();
 
-  List<TypeLike> buildFunctionTypes(TypeLike returnType, TypeLike parameterType,
-      [List<GenericParameter> generics,
+  List<FunctionType> buildFunctionTypes(
+      TypeLike? returnType, TypeLike? parameterType,
+      [List<GenericParameter>? generics,
       bool generateMoreCombinations = false]) {
-    List<TypeLike> result = [];
+    List<FunctionType> result = [];
 
     if (parameterType == null) {
       // int Function().
-      result.add(new FunctionType(returnType, generics, null));
+      result.add(FunctionType(returnType, generics, []));
       return result;
     }
 
     // int Function(int x).
-    result.add(new FunctionType(
-        returnType, generics, [new Parameter(parameterType, "x")]));
+    result.add(
+        FunctionType(returnType, generics, [Parameter(parameterType, "x")]));
 
     if (!generateMoreCombinations) return result;
 
     // int Function([int x]).
-    result.add(new FunctionType(
-        returnType, generics, null, [new Parameter(parameterType, "x")]));
+    result.add(FunctionType(
+        returnType, generics, [], [Parameter(parameterType, "x")]));
     // int Function(int, [int x])
-    result.add(new FunctionType(
+    result.add(FunctionType(
         returnType,
         generics,
-        [new Parameter(new NominalType("int"), null)],
-        [new Parameter(parameterType, "x")]));
+        [Parameter(NominalType("int"), null)],
+        [Parameter(parameterType, "x")]));
     // int Function(int x, [int x])
-    result.add(new FunctionType(
-        returnType,
-        generics,
-        [new Parameter(new NominalType("int"), "y")],
-        [new Parameter(parameterType, "x")]));
+    result.add(FunctionType(returnType, generics,
+        [Parameter(NominalType("int"), "y")], [Parameter(parameterType, "x")]));
     // int Function(int);
-    result.add(new FunctionType(
-        returnType, generics, [new Parameter(parameterType, null)]));
+    result.add(
+        FunctionType(returnType, generics, [Parameter(parameterType, null)]));
     // int Function([int]);
-    result.add(new FunctionType(
-        returnType, generics, null, [new Parameter(parameterType, null)]));
+    result.add(FunctionType(
+        returnType, generics, [], [Parameter(parameterType, null)]));
     // int Function(int, [int])
-    result.add(new FunctionType(
+    result.add(FunctionType(
         returnType,
         generics,
-        [new Parameter(new NominalType("int"), null)],
-        [new Parameter(parameterType, null)]));
+        [Parameter(NominalType("int"), null)],
+        [Parameter(parameterType, null)]));
     // int Function(int x, [int])
-    result.add(new FunctionType(
+    result.add(FunctionType(
         returnType,
         generics,
-        [new Parameter(new NominalType("int"), "x")],
-        [new Parameter(parameterType, null)]));
+        [Parameter(NominalType("int"), "x")],
+        [Parameter(parameterType, null)]));
     // int Function({int x}).
-    result.add(new FunctionType(
-        returnType, generics, null, null, [new Parameter(parameterType, "x")]));
+    result.add(FunctionType(
+        returnType, generics, [], null, [Parameter(parameterType, "x")]));
     // int Function(int, {int x})
-    result.add(new FunctionType(
+    result.add(FunctionType(
         returnType,
         generics,
-        [new Parameter(new NominalType("int"), null)],
+        [Parameter(NominalType("int"), null)],
         null,
-        [new Parameter(parameterType, "x")]));
+        [Parameter(parameterType, "x")]));
     // int Function(int x, {int x})
-    result.add(new FunctionType(
+    result.add(FunctionType(
         returnType,
         generics,
-        [new Parameter(new NominalType("int"), "y")],
+        [Parameter(NominalType("int"), "y")],
         null,
-        [new Parameter(parameterType, "x")]));
+        [Parameter(parameterType, "x")]));
     return result;
   }
 
   // The "smaller" function types. May also be used non-nested.
-  List<TypeLike> functionTypes = [];
+  List<FunctionType> functionTypes = [];
 
-  for (TypeLike returnType in basicsPlusNullPlusVoid) {
-    for (TypeLike parameterType in basicsPlusNull) {
+  for (TypeLike? returnType in basicsPlusNullPlusVoid) {
+    for (TypeLike? parameterType in basicsPlusNull) {
       bool generateMoreCombinations = true;
       functionTypes.addAll(buildFunctionTypes(
           returnType, parameterType, null, generateMoreCombinations));
@@ -539,17 +535,17 @@
 
   // These use `B` from the generic type of the enclosing function.
   List<TypeLike> returnFunctionTypesB = [];
-  for (TypeLike returnType in basicsPlusNullPlusBPlusVoid) {
-    TypeLike parameterType = new NominalType("B");
+  for (TypeLike? returnType in basicsPlusNullPlusBPlusVoid) {
+    TypeLike parameterType = NominalType("B");
     returnFunctionTypesB.addAll(buildFunctionTypes(returnType, parameterType));
   }
-  for (TypeLike parameterType in basicsPlusNull) {
-    TypeLike returnType = new NominalType("B");
+  for (TypeLike? parameterType in basicsPlusNull) {
+    TypeLike returnType = NominalType("B");
     returnFunctionTypesB.addAll(buildFunctionTypes(returnType, parameterType));
   }
 
-  for (TypeLike returnType in basicsPlusNullPlusAPlusVoid) {
-    for (TypeLike parameterType in basicsPlusNullPlusA) {
+  for (TypeLike? returnType in basicsPlusNullPlusAPlusVoid) {
+    for (TypeLike? parameterType in basicsPlusNullPlusA) {
       for (GenericParameter a in as) {
         functionTypes
             .addAll(buildFunctionTypes(returnType, parameterType, [a]));
@@ -557,22 +553,22 @@
     }
   }
 
-  List<TypeLike> types = [];
+  List<FunctionType> types = [];
   types.addAll(functionTypes);
 
   // Now add some higher-order function types.
   for (TypeLike returnType in functionTypes) {
     types.addAll(buildFunctionTypes(returnType, null));
-    types.addAll(buildFunctionTypes(returnType, new NominalType("int")));
+    types.addAll(buildFunctionTypes(returnType, NominalType("int")));
     for (var b in bs) {
       types.addAll(buildFunctionTypes(returnType, null, [b]));
-      types.addAll(buildFunctionTypes(returnType, new NominalType("int"), [b]));
+      types.addAll(buildFunctionTypes(returnType, NominalType("int"), [b]));
     }
   }
   for (TypeLike returnType in returnFunctionTypesB) {
     for (var b in bs) {
       types.addAll(buildFunctionTypes(returnType, null, [b]));
-      types.addAll(buildFunctionTypes(returnType, new NominalType("int"), [b]));
+      types.addAll(buildFunctionTypes(returnType, NominalType("int"), [b]));
     }
   }
 
@@ -607,13 +603,13 @@
 class Unit {
   int typeCounter = 0;
   final String name;
-  final StringBuffer typedefs = new StringBuffer();
-  final StringBuffer globals = new StringBuffer();
-  final StringBuffer tests = new StringBuffer();
-  final StringBuffer fields = new StringBuffer();
-  final StringBuffer statics = new StringBuffer();
-  final StringBuffer testMethods = new StringBuffer();
-  final StringBuffer methods = new StringBuffer();
+  final StringBuffer typedefs = StringBuffer();
+  final StringBuffer globals = StringBuffer();
+  final StringBuffer tests = StringBuffer();
+  final StringBuffer fields = StringBuffer();
+  final StringBuffer statics = StringBuffer();
+  final StringBuffer testMethods = StringBuffer();
+  final StringBuffer methods = StringBuffer();
 
   Unit(this.name);
 
@@ -632,7 +628,7 @@
 
 $fields
 
-  $name({this.tIsBool: false, this.tIsInt: false})
+  $name({this.tIsBool = false, this.tIsInt = false})
       : tIsDynamic = !tIsBool && !tIsInt;
 
 $methods
@@ -643,9 +639,9 @@
 }
 
 void main() {
-  new $name().runTests();
-  new $name<int>(tIsInt: true).runTests();
-  new $name<bool>(tIsBool: true).runTests();
+  $name().runTests();
+  $name<int>(tIsInt: true).runTests();
+  $name<bool>(tIsBool: true).runTests();
 }
     """);
   }
@@ -697,7 +693,7 @@
     Expect.isFalse(#staticFunName is #typeName<bool>);
     Expect.isTrue(confuse(#staticFunName) is #typeName<int>);
     Expect.isFalse(confuse(#staticFunName) is #typeName<bool>);
-    if (tIsBool) {
+    if (tIsBool && !dart2jsProductionMode) {
       Expect.throws(() { #fieldName = (#staticFunName as dynamic); });
       Expect.throws(() { #fieldName = confuse(#staticFunName); });
       Expect.throws(() { #localName = (#staticFunName as dynamic); });
@@ -721,19 +717,19 @@
 String createTestName(int id) => "test${createTypeName(id)}";
 
 String createTypeCode(FunctionType type) {
-  StringBuffer typeBuffer = new StringBuffer();
+  StringBuffer typeBuffer = StringBuffer();
   type.writeType(typeBuffer);
   return typeBuffer.toString();
 }
 
 String createStaticFunCode(FunctionType type, int id) {
-  StringBuffer staticFunBuffer = new StringBuffer();
+  StringBuffer staticFunBuffer = StringBuffer();
   type.writeFunction(staticFunBuffer, createStaticFunName(id));
   return staticFunBuffer.toString();
 }
 
 String createMethodFunCode(FunctionType type, int id) {
-  StringBuffer methodFunBuffer = new StringBuffer();
+  StringBuffer methodFunBuffer = StringBuffer();
   type.writeFunction(methodFunBuffer, createMethodFunName(id), replaceT: false);
   return methodFunBuffer.toString();
 }
@@ -775,10 +771,10 @@
   // classes.
   List<Unit> units = [];
   for (int i = 0; i < 100; i++) {
-    units.add(new Unit("U$i"));
+    units.add(Unit("U$i"));
   }
 
-  var types = buildFunctionTypes();
+  List<FunctionType> types = buildFunctionTypes();
 
   int unitCounter = 0;
   for (var type in types) {
@@ -807,10 +803,10 @@
 
   for (int i = 0; i < units.length; i++) {
     var unit = units[i];
-    var buffer = new StringBuffer();
+    var buffer = StringBuffer();
     unit.write(buffer);
     var path = Platform.script.resolve("function_type${i}_test.dart").path;
-    new File(path).writeAsStringSync(buffer.toString());
+    File(path).writeAsStringSync(buffer.toString());
   }
 }
 
diff --git a/tools/VERSION b/tools/VERSION
index 175bfe4..de29038 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 3
 MINOR 3
 PATCH 0
-PRERELEASE 88
+PRERELEASE 89
 PRERELEASE_PATCH 0