Version 2.18.0-265.0.dev

Merge commit '6b9bc2f575fe489587937eb2974dda84267fdf4f' into 'dev'
diff --git a/pkg/front_end/lib/src/fasta/kernel/collections.dart b/pkg/front_end/lib/src/fasta/kernel/collections.dart
index a11bbc7..ec4c2ff 100644
--- a/pkg/front_end/lib/src/fasta/kernel/collections.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/collections.dart
@@ -782,10 +782,15 @@
 /// [onConvertMapEntry] is called when a [ForMapEntry], [ForInMapEntry], or
 /// [IfMapEntry] is converted to a [ForElement], [ForInElement], or [IfElement],
 /// respectively.
-Expression convertToElement(MapLiteralEntry entry, InferenceHelper? helper,
-    void onConvertMapEntry(TreeNode from, TreeNode to)) {
+Expression convertToElement(
+  MapLiteralEntry entry,
+  InferenceHelper? helper,
+  void onConvertMapEntry(TreeNode from, TreeNode to), {
+  DartType? actualType,
+}) {
   if (entry is SpreadMapEntry) {
     return new SpreadElement(entry.expression, isNullAware: entry.isNullAware)
+      ..elementType = actualType
       ..fileOffset = entry.expression.fileOffset;
   }
   if (entry is IfMapEntry) {
diff --git a/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart b/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart
index ed6516b..d055140 100644
--- a/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/transform_collections.dart
@@ -35,23 +35,30 @@
 class CollectionTransformer extends Transformer {
   final SourceLoader _loader;
   final TypeEnvironment _typeEnvironment;
+
   final Procedure _listAdd;
   late final FunctionType _listAddFunctionType;
   final Procedure _listAddAll;
   late final FunctionType _listAddAllFunctionType;
   final Procedure _listOf;
+
   final Procedure _setFactory;
   final Procedure _setAdd;
   late final FunctionType _setAddFunctionType;
   final Procedure _setAddAll;
   late final FunctionType _setAddAllFunctionType;
   final Procedure _setOf;
+
   final Procedure _mapEntries;
   final Procedure _mapPut;
   late final FunctionType _mapPutFunctionType;
   final Class _mapEntryClass;
   final Field _mapEntryKey;
   final Field _mapEntryValue;
+  final Procedure _mapAddAll;
+  late final FunctionType _mapAddAllFunctionType;
+  final Procedure _mapOf;
+
   final SourceLoaderDataForTesting? _dataForTesting;
 
   /// Library that contains the transformed nodes.
@@ -67,6 +74,13 @@
     return body.target as Procedure;
   }
 
+  static Procedure _findMapFactory(CoreTypes coreTypes, String name) {
+    Procedure factory = coreTypes.index.getProcedure('dart:core', 'Map', name);
+    RedirectingFactoryBody body =
+        factory.function.body as RedirectingFactoryBody;
+    return body.target as Procedure;
+  }
+
   CollectionTransformer(this._loader)
       : _typeEnvironment = _loader.typeInferenceEngine.typeSchemaEnvironment,
         _listAdd =
@@ -91,11 +105,15 @@
             _loader.coreTypes.index.getField('dart:core', 'MapEntry', 'key'),
         _mapEntryValue =
             _loader.coreTypes.index.getField('dart:core', 'MapEntry', 'value'),
+        _mapAddAll =
+            _loader.coreTypes.index.getProcedure('dart:core', 'Map', 'addAll'),
+        _mapOf = _findMapFactory(_loader.coreTypes, 'of'),
         _dataForTesting = _loader.dataForTesting {
     _listAddFunctionType = _listAdd.getterType as FunctionType;
     _listAddAllFunctionType = _listAddAll.getterType as FunctionType;
     _setAddFunctionType = _setAdd.getterType as FunctionType;
     _setAddAllFunctionType = _setAddAll.getterType as FunctionType;
+    _mapAddAllFunctionType = _mapAddAll.getterType as FunctionType;
     _mapPutFunctionType = _mapPut.getterType as FunctionType;
   }
 
@@ -424,28 +442,62 @@
     }
 
     // Translate entries in place up to the first control-flow entry, if any.
-    int i = 0;
-    for (; i < node.entries.length; ++i) {
-      if (node.entries[i] is ControlFlowMapEntry) break;
-      node.entries[i] = transform(node.entries[i])..parent = node;
+    int index = 0;
+    for (; index < node.entries.length; ++index) {
+      if (node.entries[index] is ControlFlowMapEntry) break;
+      node.entries[index] = transform(node.entries[index])..parent = node;
     }
 
     // If there were no control-flow entries we are done.
-    if (i == node.entries.length) return node;
+    if (index == node.entries.length) return node;
 
     // Build a block expression and create an empty map.
     InterfaceType receiverType = _typeEnvironment.mapType(
         node.keyType, node.valueType, _currentLibrary!.nonNullable);
-    VariableDeclaration result = _createVariable(
-        _createMapLiteral(node.fileOffset, node.keyType, node.valueType, []),
-        receiverType);
-    List<Statement> body = [result];
-    // Add all the entries up to the first control-flow entry.
-    for (int j = 0; j < i; ++j) {
-      _addNormalEntry(node.entries[j], receiverType, result, body);
+    VariableDeclaration? result;
+
+    if (index == 0 && node.entries[index] is SpreadMapEntry) {
+      SpreadMapEntry initialSpread = node.entries[index] as SpreadMapEntry;
+      final InterfaceType entryType = new InterfaceType(
+          _mapEntryClass,
+          _currentLibrary!.nonNullable,
+          <DartType>[node.keyType, node.valueType]);
+      final bool typeMatches = initialSpread.entryType != null &&
+          _typeEnvironment.isSubtypeOf(initialSpread.entryType!, entryType,
+              SubtypeCheckMode.withNullabilities);
+      if (typeMatches && !initialSpread.isNullAware) {
+        {
+          // Create a map of the initial spread element.
+          Expression value = transform(initialSpread.expression);
+          index++;
+          result = _createVariable(
+              new StaticInvocation(
+                  _mapOf,
+                  new Arguments([value], types: [node.keyType, node.valueType])
+                    ..fileOffset = node.fileOffset)
+                ..fileOffset = node.fileOffset,
+              receiverType);
+        }
+      }
     }
-    for (; i < node.entries.length; ++i) {
-      _translateEntry(node.entries[i], receiverType, node.keyType,
+
+    List<Statement>? body;
+    if (result == null) {
+      result = _createVariable(
+          _createMapLiteral(node.fileOffset, node.keyType, node.valueType, []),
+          receiverType);
+      body = [result];
+      // Add all the entries up to the first control-flow entry.
+      for (int j = 0; j < index; ++j) {
+        _addNormalEntry(node.entries[j], receiverType, result, body);
+      }
+    }
+
+    body ??= [result];
+
+    // Translate the elements starting with the first non-expression.
+    for (; index < node.entries.length; ++index) {
+      _translateEntry(node.entries[index], receiverType, node.keyType,
           node.valueType, result, body);
     }
 
@@ -574,27 +626,53 @@
         _typeEnvironment.isSubtypeOf(
             entry.entryType!, entryType, SubtypeCheckMode.withNullabilities);
 
-    // Null-aware spreads require testing the subexpression's value.
-    VariableDeclaration? temp;
-    if (entry.isNullAware) {
-      temp = _createVariable(
-          value,
-          _typeEnvironment.mapType(
-              typeMatches ? keyType : const DynamicType(),
-              typeMatches ? valueType : const DynamicType(),
-              _currentLibrary!.nullable));
-      body.add(temp);
-      value = _createNullCheckedVariableGet(temp);
-    }
+    if (typeMatches) {
+      // If the type guarantees that all elements are of the required type, use
+      // a single 'addAll' call instead of a for-loop with calls to '[]='.
 
-    VariableDeclaration variable;
-    Statement loopBody;
-    if (!typeMatches) {
+      // Null-aware spreads require testing the subexpression's value.
+      VariableDeclaration? temp;
+      if (entry.isNullAware) {
+        temp = _createVariable(
+            value,
+            _typeEnvironment.mapType(
+                typeMatches ? keyType : const DynamicType(),
+                typeMatches ? valueType : const DynamicType(),
+                _currentLibrary!.nullable));
+        body.add(temp);
+        value = _createNullCheckedVariableGet(temp);
+      }
+
+      Statement statement = _createExpressionStatement(
+          _createMapAddAll(_createVariableGet(result), receiverType, value));
+
+      if (entry.isNullAware) {
+        statement = _createIf(
+            temp!.fileOffset,
+            _createEqualsNull(_createVariableGet(temp), notEquals: true),
+            statement);
+      }
+      body.add(statement);
+    } else {
+      // Null-aware spreads require testing the subexpression's value.
+      VariableDeclaration? temp;
+      if (entry.isNullAware) {
+        temp = _createVariable(
+            value,
+            _typeEnvironment.mapType(
+                typeMatches ? keyType : const DynamicType(),
+                typeMatches ? valueType : const DynamicType(),
+                _currentLibrary!.nullable));
+        body.add(temp);
+        value = _createNullCheckedVariableGet(temp);
+      }
+
       final InterfaceType variableType = new InterfaceType(
           _mapEntryClass,
           _currentLibrary!.nonNullable,
           <DartType>[const DynamicType(), const DynamicType()]);
-      variable = _createForInVariable(entry.fileOffset, variableType);
+      VariableDeclaration variable =
+          _createForInVariable(entry.fileOffset, variableType);
       VariableDeclaration keyVar = _createVariable(
           _createImplicitAs(
               entry.expression.fileOffset,
@@ -609,7 +687,7 @@
                   _createVariableGet(variable), variableType),
               valueType),
           valueType);
-      loopBody = _createBlock(<Statement>[
+      Statement loopBody = _createBlock(<Statement>[
         keyVar,
         valueVar,
         _createExpressionStatement(_createIndexSet(
@@ -619,27 +697,17 @@
             _createVariableGet(keyVar),
             _createVariableGet(valueVar)))
       ]);
-    } else {
-      variable = _createForInVariable(entry.fileOffset, entryType);
-      loopBody = _createExpressionStatement(_createIndexSet(
-          entry.expression.fileOffset,
-          _createVariableGet(result),
-          receiverType,
-          _createGetKey(entry.expression.fileOffset,
-              _createVariableGet(variable), entryType),
-          _createGetValue(entry.expression.fileOffset,
-              _createVariableGet(variable), entryType)));
-    }
-    Statement statement = _createForInStatement(entry.fileOffset, variable,
-        _createGetEntries(entry.fileOffset, value, receiverType), loopBody);
+      Statement statement = _createForInStatement(entry.fileOffset, variable,
+          _createGetEntries(entry.fileOffset, value, receiverType), loopBody);
 
-    if (entry.isNullAware) {
-      statement = _createIf(
-          temp!.fileOffset,
-          _createEqualsNull(_createVariableGet(temp), notEquals: true),
-          statement);
+      if (entry.isNullAware) {
+        statement = _createIf(
+            temp!.fileOffset,
+            _createEqualsNull(_createVariableGet(temp), notEquals: true),
+            statement);
+      }
+      body.add(statement);
     }
-    body.add(statement);
   }
 
   TreeNode _translateConstListOrSet(
@@ -937,6 +1005,26 @@
       ..isInvariant = true;
   }
 
+  Expression _createMapAddAll(
+      Expression receiver, InterfaceType receiverType, Expression argument) {
+    // ignore: unnecessary_null_comparison
+    assert(receiver != null);
+    // ignore: unnecessary_null_comparison
+    assert(argument != null);
+    assert(argument.fileOffset != TreeNode.noOffset,
+        "No fileOffset on ${argument}.");
+    DartType functionType = Substitution.fromInterfaceType(receiverType)
+        .substituteType(_mapAddAllFunctionType);
+    if (!_currentLibrary!.isNonNullableByDefault) {
+      functionType = legacyErasure(functionType);
+    }
+    return new InstanceInvocation(InstanceAccessKind.Instance, receiver,
+        new Name('addAll'), new Arguments([argument]),
+        functionType: functionType as FunctionType, interfaceTarget: _mapAddAll)
+      ..fileOffset = argument.fileOffset
+      ..isInvariant = true;
+  }
+
   Expression _createEqualsNull(Expression expression, {bool notEquals: false}) {
     // ignore: unnecessary_null_comparison
     assert(expression != null);
diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
index 6e7c3fe..4f62e70 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -2666,8 +2666,11 @@
 
 abstract class Map<K, V> extends Iterable {
   factory Map.unmodifiable(other) => null;
+  factory Map.of(o) = Map<E>._of;
+  external factory Map._of(o);
   Iterable<MapEntry<K, V>> get entries;
   void operator []=(K key, V value) {}
+  void addAll(Map<K, V> other) {}
 }
 
 abstract class pragma {
diff --git a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
index 275c3ba..8b82433 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/inference_visitor.dart
@@ -2884,8 +2884,12 @@
         InterfaceType setType = coreTypes.thisInterfaceType(
             coreTypes.setClass, libraryBuilder.nonNullable);
         for (int i = 0; i < node.entries.length; ++i) {
-          setElements.add(convertToElement(node.entries[i],
-              isTopLevel ? null : helper, assignedVariables.reassignInfo));
+          setElements.add(convertToElement(
+            node.entries[i],
+            isTopLevel ? null : helper,
+            assignedVariables.reassignInfo,
+            actualType: actualTypesForSet![i],
+          ));
           formalTypesForSet.add(setType.typeArguments[0]);
         }
 
diff --git a/pkg/front_end/test/static_types/data/null_aware_spread.dart b/pkg/front_end/test/static_types/data/null_aware_spread.dart
index 0eec790..ee76152 100644
--- a/pkg/front_end/test/static_types/data/null_aware_spread.dart
+++ b/pkg/front_end/test/static_types/data/null_aware_spread.dart
@@ -53,11 +53,8 @@
         /*cfe:nnbd.String!*/
         'foo',
     ...?
-    /*cfe.Map<int,String>|Iterable<MapEntry<int,String>!>!|int|String*/
-    /*cfe:nnbd.Map<int!,String!>!|Iterable<MapEntry<int!,String!>!>!|int!|String!*/
-    /*cfe.current: MapEntry<int,String>!*/
-    /*cfe:nnbd.current: MapEntry<int!,String!>!*/
-    /*update: void*/
-    map
+    /*cfe.Map<int,String>*/
+    /*cfe:nnbd.Map<int!,String!>!*/
+    /*invoke: void*/ map
   };
 }
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
index 7bea2cf..ea911ec 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.expect
@@ -516,501 +516,486 @@
   core::Map<core::String*, core::int*>* map20 = block {
     final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t13 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
+      #t12.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
     #t12.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
   } =>#t12;
   core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t14 = <dynamic>[];
+    final core::List<dynamic>* #t13 = <dynamic>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t14.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t14;
+      #t13.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t13;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t15 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t14 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t15.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t15.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t15;
+      #t14.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t14.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t14;
   core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t16 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t15 = <core::String*, dynamic>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t17 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{core::String*}, #t17.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t16.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t16;
+      #t15.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t15.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t15;
   core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t18 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t16 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t18.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t18;
+      #t16.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t16;
   core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t19 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t17 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t19.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t19.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t19;
+      #t17.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t17.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t17;
   core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t20 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t18 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t21 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::String*}, #t21.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t20.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t20;
+      #t18.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t18.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t18;
   core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t22 = <core::int*>[];
+    final core::List<core::int*>* #t19 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t22.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-  } =>#t22;
+        #t19.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t19;
   core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t23 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t20 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t23.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-    #t23.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t23;
+        #t20.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t20.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t20;
   core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t24 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t21 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t25 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-          #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}{core::String*}, #t25.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t24;
+        #t21.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t21.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t21;
   core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t26 = <dynamic>[];
+    final core::List<dynamic>* #t22 = <dynamic>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t26.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t26;
+        #t22.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t22;
   core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t27 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t23 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t27.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t27.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t27;
+        #t23.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t23.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t23;
   core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t28 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t24 = <core::String*, dynamic>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t29 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-          #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}{core::String*}, #t29.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t28.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t28;
+        #t24.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t24;
   core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t30 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t25 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t30.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t30;
+        #t25.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t25;
   core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t31 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t26 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t31.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t31.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t31;
+        #t26.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t26.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t26;
   core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t27 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t33 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t32.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t32;
+        #t27.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t27.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t27;
   core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t34 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t28 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t34.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t34;
+      #t28.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t28;
   core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t35 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t29 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t35.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t35;
+      #t29.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t29.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t29;
   core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
                                  ^";
   core::List<core::List<core::int*>*>* list41 = block {
-    final core::List<core::List<core::int*>*>* #t36 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t30 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t36.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t37 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t37.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t37){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t36;
+      #t30.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t31 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t31.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t31){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t30;
   core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t38 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t32 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t38.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t39 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t39.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t39){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t38.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t38;
+      #t32.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t33 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t33.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t33){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t32.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t32;
   core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t34 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t40.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t40;
+        #t34.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t34;
   core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t41 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t35 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t41.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t41.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t41;
+        #t35.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t35;
   core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t36 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t43 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}{core::String*}, #t43.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t42.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t42;
+        #t36.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t36.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t36;
   core::List<core::int*>* list50 = block {
+    final core::List<core::int*>* #t37 = <core::int*>[];
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t37.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+  } =>#t37;
+  core::Set<core::int*>* set50 = block {
+    final core::Set<core::int*>* #t38 = col::LinkedHashSet::•<core::int*>();
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t38.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+    #t38.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t38;
+  core::Map<core::String*, core::int*>* map50 = block {
+    final core::Map<core::String*, core::int*>* #t39 = <core::String*, core::int*>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t39.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
+    #t39.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t39;
+  core::List<core::int*>* list51 = block {
+    final core::List<core::int*>* #t40 = <core::int*>[];
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t40.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t41 = col::LinkedHashSet::•<core::int*>();
+      } =>#t41){(core::Iterable<core::int*>*) →* void};
+  } =>#t40;
+  core::Set<core::int*>* set51 = block {
+    final core::Set<core::int*>* #t42 = col::LinkedHashSet::•<core::int*>();
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t42.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t43 = col::LinkedHashSet::•<core::int*>();
+      } =>#t43){(core::Iterable<core::int*>*) →* void};
+    #t42.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t42;
+  core::List<core::int*>* list52 = block {
     final core::List<core::int*>* #t44 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t44.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t44.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
   } =>#t44;
-  core::Set<core::int*>* set50 = block {
+  core::Set<core::int*>* set52 = block {
     final core::Set<core::int*>* #t45 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t45.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t45.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
     #t45.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
   } =>#t45;
-  core::Map<core::String*, core::int*>* map50 = block {
+  core::Map<core::String*, core::int*>* map52 = block {
     final core::Map<core::String*, core::int*>* #t46 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t47 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}{core::String*}, #t47.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t46.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
     #t46.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
   } =>#t46;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t48 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t48.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t49 = col::LinkedHashSet::•<core::int*>();
-      } =>#t49){(core::Iterable<core::int*>*) →* void};
-  } =>#t48;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t50 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t50.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
-      } =>#t51){(core::Iterable<core::int*>*) →* void};
-    #t50.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t50;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t52 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t52.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-  } =>#t52;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t53 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t53.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-    #t53.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t53;
-  core::Map<core::String*, core::int*>* map52 = block {
-    final core::Map<core::String*, core::int*>* #t54 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t55 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-          #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::String*}, #t55.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t54.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t54;
   core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t56 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t47 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t56.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t56;
+      #t47.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t47;
   core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t57 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t48 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t57.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t57.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t57;
+      #t48.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t48.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t48;
   core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t58 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t49 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t59 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}{core::String*}, #t59.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t58.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t58;
+      #t49.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t49.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t49;
   core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t60 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t50 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t60.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t60;
+        #t50.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t50;
   core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t61 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t51 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t61.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t61.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t61;
+        #t51.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t51.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t51;
   core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t62 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t52 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t63 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}{core::String*}, #t63.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t62;
+        #t52.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t52.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t52;
   core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t64 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t53 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t64.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t64;
+      #t53.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
+  } =>#t53;
   core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t65 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t54 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t65.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t65.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t65;
+      #t54.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t54.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t54;
   core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t66 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t55 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t66.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t66;
+        #t55.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
+  } =>#t55;
   core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t67 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t56 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t67.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t67.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t67;
+        #t56.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t56.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t56;
   core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t68 = <core::num*>[];
+    final core::List<core::num*>* #t57 = <core::num*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t68.{core::List::add}{Invariant}(42){(core::num*) →* void};
+      #t57.{core::List::add}{Invariant}(42){(core::num*) →* void};
     else
-      #t68.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
-  } =>#t68;
+      #t57.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
+  } =>#t57;
   core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t69 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t58 = col::LinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t69.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
+      #t58.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
     else
-      #t69.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t69.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t69;
+      #t58.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t58.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t58;
   core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t70 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t59 = <core::String*, core::num*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t70.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
+      #t59.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
     else
-      #t70.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t70.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t70;
+      #t59.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t59.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t59;
   core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t71 = <core::num*>[];
+    final core::List<core::num*>* #t60 = <core::num*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t71.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t60.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t71.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t71;
+      #t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t60;
   core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t72 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t61 = col::LinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t72.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t72.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-    #t72.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t72;
+      #t61.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+    #t61.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t61;
   core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t73 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t62 = <core::String*, core::num*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t74 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-        #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}{core::String*}, #t74.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+      #t62.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String*, core::num*>*) →* void};
     else
-      for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t75 in mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-        #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}{core::String*}, #t75.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-    #t73.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t73;
+      #t62.{core::Map::addAll}{Invariant}(mapToDouble){(core::Map<core::String*, core::num*>*) →* void};
+    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t62;
   core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t76 = <dynamic>[];
+    final core::List<dynamic>* #t63 = <dynamic>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t76.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+      #t63.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
     else
-      #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-  } =>#t76;
+      #t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+  } =>#t63;
   core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t77 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t64 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t77.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+      #t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
     else
-      #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t77.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t77;
+      #t64.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t64.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t64;
   core::Set<dynamic>* map82 = block {
-    final core::Set<dynamic>* #t78 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t65 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
                                      ^"){(dynamic) →* core::bool*};
     else
-      #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t78.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t78;
+      #t65.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t65.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t65;
   core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t79 = <core::num*>[];
+    final core::List<core::num*>* #t66 = <core::num*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t79.{core::List::add}{Invariant}(42){(core::num*) →* void};
+      #t66.{core::List::add}{Invariant}(42){(core::num*) →* void};
     else
-      #t79.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t79;
+      #t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t66;
   core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t80 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t67 = col::LinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t80.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t80.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t80.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t80;
+      #t67.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t67.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t67;
   core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t81 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t68 = <core::String*, core::num*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t82 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-        #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}{core::String*}, #t82.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+      #t68.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String*, core::num*>*) →* void};
     else
-      #t81.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t81.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t81;
+      #t68.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t68.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t68;
   core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t83 = <core::int*>[];
+    final core::List<core::int*>* #t69 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t83;
+      #t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t69;
   core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t84 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t70 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t84.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t84;
+      #t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t70.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t70;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t85 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t71 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t85.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t85;
+      #t71.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t71.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t71;
   core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t86 = <core::int*>[];
+    final core::List<core::int*>* #t72 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer dynamic #t87 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t88 = #t87 as{TypeError} core::int*;
-        #t86.{core::List::add}{Invariant}(#t88){(core::int*) →* void};
+      for (final has-declared-initializer dynamic #t73 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t74 = #t73 as{TypeError} core::int*;
+        #t72.{core::List::add}{Invariant}(#t74){(core::int*) →* void};
       }
-  } =>#t86;
+  } =>#t72;
   core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t89 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t75 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer dynamic #t90 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t91 = #t90 as{TypeError} core::int*;
-        #t89.{core::Set::add}{Invariant}(#t91){(core::int*) →* core::bool*};
+      for (final has-declared-initializer dynamic #t76 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t77 = #t76 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t77){(core::int*) →* core::bool*};
       }
-    #t89.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t89;
+    #t75.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t75;
   core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t92 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t78 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t93 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
-        final core::String* #t94 = #t93.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
-        final core::int* #t95 = #t93.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-        #t92.{core::Map::[]=}{Invariant}(#t94, #t95){(core::String*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t79 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
+        final core::String* #t80 = #t79.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
+        final core::int* #t81 = #t79.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t78.{core::Map::[]=}{Invariant}(#t80, #t81){(core::String*, core::int*) →* void};
       }
-    #t92.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t92;
+    #t78.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t78;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t96 = <core::int*>[];
+    final core::List<core::int*>* #t82 = <core::int*>[];
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t96.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t96;
+      #t82.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t82;
   core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t97 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t83 = col::LinkedHashSet::•<core::int*>();
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t97.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t97;
+      #t83.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t83;
   core::Map<core::int*, core::int*>* map100 = block {
-    final core::Map<core::int*, core::int*>* #t98 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t84 = <core::int*, core::int*>{};
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t98.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
-  } =>#t98;
+      #t84.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
+  } =>#t84;
 }
 static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
   block {
-    final core::List<core::int*>* #t99 = <core::int*>[];
+    final core::List<core::int*>* #t85 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t99.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t85.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) \"bar\"];
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
-  } =>#t99;
+  } =>#t85;
   block {
-    final core::Set<core::int*>* #t100 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t86 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t100.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) \"bar\", null};
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
-    #t100.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t100;
+    #t86.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t86;
   block {
-    final core::Map<core::String*, core::int*>* #t101 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t87 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t101.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t87.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
                                           ^" in "bar" as{TypeError} core::int*){(core::String*, core::int*) →* void};
-    #t101.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t101;
+    #t87.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t87;
   block {
-    final core::List<core::int*>* #t102 = <core::int*>[];
+    final core::List<core::int*>* #t88 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t102.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t88.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) ...[\"bar\"]];
                                ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-  } =>#t102;
+  } =>#t88;
   block {
-    final core::Set<core::int*>* #t103 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t89 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t103.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t89.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) ...[\"bar\"], null};
                                ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-    #t103.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t103;
+    #t89.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t89;
   block {
-    final core::Map<core::String*, core::int*>* #t104 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t90 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t105 in <core::String*, core::int*>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t90.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                              ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t104.{core::Map::[]=}{Invariant}(#t105.{core::MapEntry::key}{core::String*}, #t105.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t104.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t104;
+                                              ^" in "bar" as{TypeError} core::int*}){(core::Map<core::String*, core::int*>*) →* void};
+    #t90.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t90;
   block {
-    final core::List<core::int*>* #t106 = <core::int*>[];
+    final core::List<core::int*>* #t91 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t106.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t91.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map];
                               ^"){(core::int*) →* void};
-  } =>#t106;
+  } =>#t91;
   block {
-    final core::Set<core::int*>* #t107 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t92 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t107.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map, null};
                               ^"){(core::int*) →* core::bool*};
-    #t107.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t107;
+    #t92.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t92;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
@@ -1019,61 +1004,61 @@
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::String*>* #t108 = <core::String*>[];
+    final core::List<core::String*>* #t93 = <core::String*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t108;
+  } =>#t93;
   block {
-    final core::Set<core::String*>* #t109 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t94 = col::LinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
-    #t109.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
-  } =>#t109;
+    #t94.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
+  } =>#t94;
   block {
-    final core::Map<core::String*, core::String*>* #t110 = <core::String*, core::String*>{};
+    final core::Map<core::String*, core::String*>* #t95 = <core::String*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t110.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t95.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                              ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
     else
-      #t110.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t95.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                                             ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
-    #t110.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
-  } =>#t110;
+    #t95.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
+  } =>#t95;
   block {
-    final core::List<core::int*>* #t111 = <core::int*>[];
+    final core::List<core::int*>* #t96 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t111.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t96.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map else 42];
                               ^"){(core::int*) →* void};
     else
-      #t111.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t111;
+      #t96.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t96;
   block {
-    final core::Set<core::int*>* #t112 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t97 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t112.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t112.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t112.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t112;
+      #t97.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t97.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t97;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
@@ -1082,26 +1067,26 @@
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::int*>* #t113 = <core::int*>[];
+    final core::List<core::int*>* #t98 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t113.{core::List::add}{Invariant}(42){(core::int*) →* void};
+      #t98.{core::List::add}{Invariant}(42){(core::int*) →* void};
     else
-      #t113.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t98.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) 42 else ...map];
                                       ^"){(core::int*) →* void};
-  } =>#t113;
+  } =>#t98;
   block {
-    final core::Set<core::int*>* #t114 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t99 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t114.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t114.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t114;
+      #t99.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t99.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t99;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
@@ -1128,709 +1113,692 @@
   var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                    ^": null};
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t115 = <core::int*>[];
+    final core::List<core::int*>* #t100 = <core::int*>[];
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   List<int> list20 = [if (42) 42];
                           ^" in 42 as{TypeError} core::bool*)
-      #t115.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t115;
+      #t100.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t100;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t116 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t101 = col::LinkedHashSet::•<core::int*>();
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Set<int> set20 = {if (42) 42};
                         ^" in 42 as{TypeError} core::bool*)
-      #t116.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t116;
+      #t101.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t101;
   core::Map<core::int*, core::int*>* map30 = block {
-    final core::Map<core::int*, core::int*>* #t117 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t102 = <core::int*, core::int*>{};
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Map<int, int> map30 = {if (42) 42: 42};
                              ^" in 42 as{TypeError} core::bool*)
-      #t117.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
-  } =>#t117;
+      #t102.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
+  } =>#t102;
   core::List<core::String*>* list40 = block {
-    final core::List<core::String*>* #t118 = <core::String*>[];
+    final core::List<core::String*>* #t103 = <core::String*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                     ^" in true as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t118;
+  } =>#t103;
   core::Set<core::String*>* set40 = block {
-    final core::Set<core::String*>* #t119 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t104 = col::LinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                   ^" in true as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                             ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
-  } =>#t119;
+  } =>#t104;
   core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t120 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t105 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                             ^" in true as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
     else
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                                           ^" in 42 as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
-  } =>#t120;
+  } =>#t105;
   core::Map<core::int*, core::String*>* map41 = block {
-    final core::Map<core::int*, core::String*>* #t121 = <core::int*, core::String*>{};
+    final core::Map<core::int*, core::String*>* #t106 = <core::int*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                 ^" in true as{TypeError} core::String*){(core::int*, core::String*) →* void};
     else
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                               ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
-  } =>#t121;
+  } =>#t106;
 }
 static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
   core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t122 = <core::int*>[];
+    final core::List<core::int*>* #t107 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t122.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t122;
+      #t107.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t107;
   core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t123 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t108 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t123.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t123.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t123;
+      #t108.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t108.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t108;
   core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t109 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t124.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t124;
+      #t109.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t109.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t109;
   core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t125 = <dynamic>[];
+    final core::List<dynamic>* #t110 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t125.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
-  } =>#t125;
+      #t110.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
+  } =>#t110;
   core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t126 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t111 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t126.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
-    #t126.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t126;
+      #t111.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
+    #t111.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t111;
   core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t127 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t112 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t127.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
-    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t127;
+      #t112.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
+    #t112.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t112;
   core::List<core::List<core::int*>*>* list12 = block {
-    final core::List<core::List<core::int*>*>* #t128 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t113 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t128.{core::List::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* void};
-  } =>#t128;
+      #t113.{core::List::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* void};
+  } =>#t113;
   core::Set<core::List<core::int*>*>* set12 = block {
-    final core::Set<core::List<core::int*>*>* #t129 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t114 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t129.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
-    #t129.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t129;
+      #t114.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+    #t114.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t114;
   core::Map<core::String*, core::List<core::int*>*>* map12 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t130 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t115 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t130.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
-    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t130;
+      #t115.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
+    #t115.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t115;
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t131 = <core::int*>[];
+    final core::List<core::int*>* #t116 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t131.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-  } =>#t131;
+      #t116.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t116;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t132 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t117 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t132.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-    #t132.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t132;
+      #t117.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t117.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t117;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t133 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t118 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t134 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t133.{core::Map::[]=}{Invariant}(#t134.{core::MapEntry::key}{core::String*}, #t134.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t133;
+      #t118.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t118.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t118;
   core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t135 = <dynamic>[];
+    final core::List<dynamic>* #t119 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t135.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t135;
+      #t119.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t119;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t136 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t120 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t136.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t136.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t136;
+      #t120.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t120.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t120;
   core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t137 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t121 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t138 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-        #t137.{core::Map::[]=}{Invariant}(#t138.{core::MapEntry::key}{core::String*}, #t138.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t137.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t137;
+      #t121.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t121.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t121;
   core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t139 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t122 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t139.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t139;
+      #t122.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t122;
   core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t140 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t123 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t140.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t140.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t140;
+      #t123.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t123.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t123;
   core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t141 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t124 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t142 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t141.{core::Map::[]=}{Invariant}(#t142.{core::MapEntry::key}{core::String*}, #t142.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t141.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t141;
+      #t124.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t124;
   core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t143 = <core::int*>[];
+    final core::List<core::int*>* #t125 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t143.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-  } =>#t143;
+        #t125.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t125;
   core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t144 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t126 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t144.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-    #t144.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t144;
+        #t126.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t126.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t126;
   core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t145 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t127 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t146 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-          #t145.{core::Map::[]=}{Invariant}(#t146.{core::MapEntry::key}{core::String*}, #t146.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t145.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t145;
+        #t127.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t127;
   core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t147 = <dynamic>[];
+    final core::List<dynamic>* #t128 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t147.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t147;
+        #t128.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t128;
   core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t148 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t129 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t148.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t148.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t148;
+        #t129.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t129.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t129;
   core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t149 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t130 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t150 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-          #t149.{core::Map::[]=}{Invariant}(#t150.{core::MapEntry::key}{core::String*}, #t150.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t149.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t149;
+        #t130.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t130;
   core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t151 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t131 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t151.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t151;
+        #t131.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t131;
   core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t152 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t132 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t152.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t152.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t152;
+        #t132.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t132.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t132;
   core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t153 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t133 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t154 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t153.{core::Map::[]=}{Invariant}(#t154.{core::MapEntry::key}{core::String*}, #t154.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t153.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t153;
+        #t133.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t133;
   core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t155 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t134 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t155.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t155;
+      #t134.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t134;
   core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t156 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t135 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t156.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t156.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t156;
+      #t135.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t135.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t135;
   core::Map<core::String*, core::List<core::int*>*>* map40 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t157 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t136 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t158 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t157.{core::Map::[]=}{Invariant}(#t158.{core::MapEntry::key}{core::String*}, #t158.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t157.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t157;
+      #t136.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t136.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t136;
   core::List<core::List<core::int*>*>* list41 = block {
+    final core::List<core::List<core::int*>*>* #t137 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t137.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t138 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t138.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t138){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t137;
+  core::Set<core::List<core::int*>*>* set41 = block {
+    final core::Set<core::List<core::int*>*>* #t139 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t139.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t140 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t140.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t140){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t139.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t139;
+  core::List<core::List<core::int*>*>* list42 = block {
+    final core::List<core::List<core::int*>*>* #t141 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t141.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t141;
+  core::Set<core::List<core::int*>*>* set42 = block {
+    final core::Set<core::List<core::int*>*>* #t142 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t142.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t142.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t142;
+  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t143 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t143.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t143.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t143;
+  core::List<core::int*>* list50 = block {
+    final core::List<core::int*>* #t144 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t144.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+  } =>#t144;
+  core::Set<core::int*>* set50 = block {
+    final core::Set<core::int*>* #t145 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t145.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+    #t145.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t145;
+  core::Map<core::String*, core::int*>* map50 = block {
+    final core::Map<core::String*, core::int*>* #t146 = <core::String*, core::int*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t146.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
+    #t146.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t146;
+  core::List<core::int*>* list51 = block {
+    final core::List<core::int*>* #t147 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t147.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t148 = col::LinkedHashSet::•<core::int*>();
+      } =>#t148){(core::Iterable<core::int*>*) →* void};
+  } =>#t147;
+  core::Set<core::int*>* set51 = block {
+    final core::Set<core::int*>* #t149 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t149.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t150 = col::LinkedHashSet::•<core::int*>();
+      } =>#t150){(core::Iterable<core::int*>*) →* void};
+    #t149.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t149;
+  core::List<core::int*>* list52 = block {
+    final core::List<core::int*>* #t151 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t151.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+  } =>#t151;
+  core::Set<core::int*>* set52 = block {
+    final core::Set<core::int*>* #t152 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t152.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+    #t152.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t152;
+  core::List<core::List<core::int*>*>* list60 = block {
+    final core::List<core::List<core::int*>*>* #t153 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t153.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t153;
+  core::Set<core::List<core::int*>*>* set60 = block {
+    final core::Set<core::List<core::int*>*>* #t154 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t154.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t154.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t154;
+  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t155 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t155.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t155.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t155;
+  core::List<core::List<core::int*>*>* list61 = block {
+    final core::List<core::List<core::int*>*>* #t156 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t156.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t156;
+  core::Set<core::List<core::int*>*>* set61 = block {
+    final core::Set<core::List<core::int*>*>* #t157 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t157.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t157.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t157;
+  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t158 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t158.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t158.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t158;
+  core::List<core::List<core::int*>*>* list70 = block {
     final core::List<core::List<core::int*>*>* #t159 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t159.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t160 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t160.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t160){(core::Iterable<core::List<core::int*>*>*) →* void};
+      #t159.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
   } =>#t159;
-  core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t161 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t161.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t162 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t162.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t162){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t161.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t161;
-  core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t163 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t163.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t163;
-  core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t164 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t164.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t164.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t164;
-  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t165 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t166 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t165.{core::Map::[]=}{Invariant}(#t166.{core::MapEntry::key}{core::String*}, #t166.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t165.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t165;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t167 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t167.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-  } =>#t167;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t168 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t168.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-    #t168.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t168;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t169 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t170 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t169.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::String*}, #t170.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t169.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t169;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t171 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t171.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t172 = col::LinkedHashSet::•<core::int*>();
-      } =>#t172){(core::Iterable<core::int*>*) →* void};
-  } =>#t171;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t173 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t173.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t174 = col::LinkedHashSet::•<core::int*>();
-      } =>#t174){(core::Iterable<core::int*>*) →* void};
-    #t173.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t173;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t175 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t175.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-  } =>#t175;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t176 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t176.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-    #t176.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t176;
-  core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t177 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t177.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t177;
-  core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t178 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t178.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t178.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t178;
-  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t179 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t180 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t179.{core::Map::[]=}{Invariant}(#t180.{core::MapEntry::key}{core::String*}, #t180.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t179;
-  core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t181 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t181.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t181;
-  core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t182 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t182.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t182.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t182;
-  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t183 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t184 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t183.{core::Map::[]=}{Invariant}(#t184.{core::MapEntry::key}{core::String*}, #t184.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t183.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t183;
-  core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t185 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t185.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t185;
   core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t186 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t160 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t186.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t186.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t186;
+      #t160.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t160.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t160;
   core::Map<core::String*, core::List<core::int*>*>* map70 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t187 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t161 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t187.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
-    #t187.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t187;
+      #t161.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
+    #t161.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t161;
   core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t188 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t162 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t188.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t188;
+        #t162.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
+  } =>#t162;
   core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t189 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t163 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t189.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t189.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t189;
+        #t163.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t163.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t163;
   core::Map<core::String*, core::List<core::int*>*>* map71 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t190 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t164 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t190.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
-    #t190.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t190;
+        #t164.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
+    #t164.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t164;
   core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t191 = <core::num*>[];
+    final core::List<core::num*>* #t165 = <core::num*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t191.{core::List::add}{Invariant}(42){(core::num*) →* void};
+        #t165.{core::List::add}{Invariant}(42){(core::num*) →* void};
       else
-        #t191.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
-  } =>#t191;
+        #t165.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
+  } =>#t165;
   core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t192 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t166 = col::LinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t192.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
+        #t166.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
       else
-        #t192.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t192.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t192;
+        #t166.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t166.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t166;
   core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t193 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t167 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t193.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
+        #t167.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
       else
-        #t193.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t193.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t193;
+        #t167.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t167.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t167;
   core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t194 = <core::num*>[];
+    final core::List<core::num*>* #t168 = <core::num*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t194.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t168.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t194.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t194;
+        #t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t168;
   core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t195 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t169 = col::LinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t195.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t195.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-    #t195.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t195;
+        #t169.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+    #t169.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t169;
   core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t196 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t170 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t197 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-          #t196.{core::Map::[]=}{Invariant}(#t197.{core::MapEntry::key}{core::String*}, #t197.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+        #t170.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String*, core::num*>*) →* void};
       else
-        for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t198 in mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-          #t196.{core::Map::[]=}{Invariant}(#t198.{core::MapEntry::key}{core::String*}, #t198.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-    #t196.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t196;
+        #t170.{core::Map::addAll}{Invariant}(mapStringDouble){(core::Map<core::String*, core::num*>*) →* void};
+    #t170.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t170;
   core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t199 = <dynamic>[];
+    final core::List<dynamic>* #t171 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t199.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+        #t171.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
       else
-        #t199.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-  } =>#t199;
+        #t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+  } =>#t171;
   core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t200 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t172 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t200.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+        #t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
       else
-        #t200.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t200.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t200;
+        #t172.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t172.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t172;
   core::Map<dynamic, dynamic>* map82 = block {
-    final core::Map<dynamic, dynamic>* #t201 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>* #t173 = <dynamic, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t202 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t202.{core::MapEntry::key}{dynamic}, #t202.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+        #t173.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<dynamic, dynamic>*) →* void};
       else
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t203 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}{dynamic}, #t203.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-    #t201.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) →* void};
-  } =>#t201;
+        #t173.{core::Map::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*){(core::Map<dynamic, dynamic>*) →* void};
+    #t173.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) →* void};
+  } =>#t173;
   core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t204 = <core::num*>[];
+    final core::List<core::num*>* #t174 = <core::num*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t204.{core::List::add}{Invariant}(42){(core::num*) →* void};
+        #t174.{core::List::add}{Invariant}(42){(core::num*) →* void};
       else
-        #t204.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t204;
+        #t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t174;
   core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t205 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t175 = col::LinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t205.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t205.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t205.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t205;
+        #t175.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t175.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t175;
   core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t206 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t176 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t207 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-          #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}{core::String*}, #t207.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+        #t176.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String*, core::num*>*) →* void};
       else
-        #t206.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t206.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t206;
+        #t176.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t176.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t176;
   core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t208 = <core::int*>[];
+    final core::List<core::int*>* #t177 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t208.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t208;
+      #t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t177;
   core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t209 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t178 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t209.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t209.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t209;
+      #t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t178.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t178;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t210 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t179 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t210.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t210.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t210;
+      #t179.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t179;
   core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t211 = <core::int*>[];
+    final core::List<core::int*>* #t180 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer dynamic #t212 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t213 = #t212 as{TypeError} core::int*;
-        #t211.{core::List::add}{Invariant}(#t213){(core::int*) →* void};
+      for (final has-declared-initializer dynamic #t181 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t182 = #t181 as{TypeError} core::int*;
+        #t180.{core::List::add}{Invariant}(#t182){(core::int*) →* void};
       }
-  } =>#t211;
+  } =>#t180;
   core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t214 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t183 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer dynamic #t215 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t216 = #t215 as{TypeError} core::int*;
-        #t214.{core::Set::add}{Invariant}(#t216){(core::int*) →* core::bool*};
+      for (final has-declared-initializer dynamic #t184 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t185 = #t184 as{TypeError} core::int*;
+        #t183.{core::Set::add}{Invariant}(#t185){(core::int*) →* core::bool*};
       }
-    #t214.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t214;
+    #t183.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t183;
   core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t217 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t186 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t218 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
-        final core::String* #t219 = #t218.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
-        final core::int* #t220 = #t218.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-        #t217.{core::Map::[]=}{Invariant}(#t219, #t220){(core::String*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t187 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
+        final core::String* #t188 = #t187.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
+        final core::int* #t189 = #t187.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t186.{core::Map::[]=}{Invariant}(#t188, #t189){(core::String*, core::int*) →* void};
       }
-    #t217.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t217;
+    #t186.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t186;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t221 = <core::int*>[];
-    for (final core::int* #t222 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t221.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t221;
+    final core::List<core::int*>* #t190 = <core::int*>[];
+    for (final core::int* #t191 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t190.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t190;
   core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t223 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t224 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t223.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t223;
+    final core::Set<core::int*>* #t192 = col::LinkedHashSet::•<core::int*>();
+    for (final core::int* #t193 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t192.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t192;
   core::Map<core::String*, core::int*>* map100 = block {
-    final core::Map<core::String*, core::int*>* #t225 = <core::String*, core::int*>{};
-    for (final core::int* #t226 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t225.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-  } =>#t225;
+    final core::Map<core::String*, core::int*>* #t194 = <core::String*, core::int*>{};
+    for (final core::int* #t195 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t194.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+  } =>#t194;
   core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t227 = <core::int*>[];
+    final core::List<core::int*>* #t196 = <core::int*>[];
     for (core::int* i in <core::int*>[1, 2, 3])
-      #t227.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t227;
+      #t196.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t196;
   core::Set<core::int*>* set110 = block {
-    final core::Set<core::int*>* #t228 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t197 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i in <core::int*>[1, 2, 3])
-      #t228.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-    #t228.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t228;
+      #t197.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+    #t197.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t197;
   core::Map<core::String*, core::int*>* map110 = block {
-    final core::Map<core::String*, core::int*>* #t229 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t198 = <core::String*, core::int*>{};
     for (core::int* i in <core::int*>[1, 2, 3])
-      #t229.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-    #t229.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t229;
+      #t198.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+    #t198.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t198;
   core::List<core::int*>* list120 = block {
-    final core::List<core::int*>* #t230 = <core::int*>[];
+    final core::List<core::int*>* #t199 = <core::int*>[];
     for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t230.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t230;
+      #t199.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t199;
   core::Set<core::int*>* set120 = block {
-    final core::Set<core::int*>* #t231 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t200 = col::LinkedHashSet::•<core::int*>();
     for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t231.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t231.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t231;
+      #t200.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t200.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t200;
   core::Map<core::String*, core::int*>* map120 = block {
-    final core::Map<core::String*, core::int*>* #t232 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t201 = <core::String*, core::int*>{};
     for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t232.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t232.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t232;
+      #t201.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t201.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t201;
   core::List<core::int*>* list130 = block {
-    final core::List<core::int*>* #t233 = <core::int*>[];
+    final core::List<core::int*>* #t202 = <core::int*>[];
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t233.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t233;
+      #t202.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t202;
   core::Set<core::int*>* set130 = block {
-    final core::Set<core::int*>* #t234 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t203 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t234.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-  } =>#t234;
+      #t203.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+  } =>#t203;
   core::Map<core::int*, core::int*>* map130 = block {
-    final core::Map<core::int*, core::int*>* #t235 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t204 = <core::int*, core::int*>{};
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t235.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
-  } =>#t235;
+      #t204.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
+  } =>#t204;
 }
 static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async /* futureValueType= dynamic */ {
   block {
-    final core::List<core::int*>* #t236 = <core::int*>[];
+    final core::List<core::int*>* #t205 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t236.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t205.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
                                             ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
-  } =>#t236;
+  } =>#t205;
   block {
-    final core::Set<core::int*>* #t237 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t206 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t237.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
                                             ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
-    #t237.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t237;
+    #t206.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t206;
   block {
-    final core::Map<core::int*, core::int*>* #t238 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t207 = <core::int*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                  ^" in "bar" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                         ^" in "bar" as{TypeError} core::int*){(core::int*, core::int*) →* void};
-    #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                                ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
-  } =>#t238;
+  } =>#t207;
   block {
-    final core::List<core::int*>* #t239 = <core::int*>[];
+    final core::List<core::int*>* #t208 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t239.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t208.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
                                                 ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-  } =>#t239;
+  } =>#t208;
   block {
-    final core::Set<core::int*>* #t240 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t209 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t240.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t209.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
                                                 ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-    #t240.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t240;
+    #t209.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t209;
   block {
-    final core::Map<core::int*, core::int*>* #t241 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t210 = <core::int*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::int*, core::int*>* #t242 in <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t210.{core::Map::addAll}{Invariant}(<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                      ^" in "bar" as{TypeError} core::int*: invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                            ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
-        #t241.{core::Map::[]=}{Invariant}(#t242.{core::MapEntry::key}{core::int*}, #t242.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
-    #t241.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+                                                            ^" in "bar" as{TypeError} core::int*}){(core::Map<core::int*, core::int*>*) →* void};
+    #t210.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                                     ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
-  } =>#t241;
+  } =>#t210;
   block {
-    final core::List<core::int*>* #t243 = <core::int*>[];
+    final core::List<core::int*>* #t211 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t243.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t211.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
                                                ^"){(core::int*) →* void};
-  } =>#t243;
+  } =>#t211;
   block {
-    final core::Set<core::int*>* #t244 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t212 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t244.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
                                                ^"){(core::int*) →* core::bool*};
-    #t244.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t244;
+    #t212.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t212;
   <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
@@ -1839,66 +1807,66 @@
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
                                                     ^": null};
   block {
-    final core::List<core::String*>* #t245 = <core::String*>[];
+    final core::List<core::String*>* #t213 = <core::String*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                              ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
       else
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                                      ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t245;
+  } =>#t213;
   block {
-    final core::Set<core::String*>* #t246 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t214 = col::LinkedHashSet::•<core::String*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                              ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
       else
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                                      ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
-    #t246.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
-  } =>#t246;
+    #t214.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
+  } =>#t214;
   block {
-    final core::Map<core::String*, core::String*>* #t247 = <core::String*, core::String*>{};
+    final core::Map<core::String*, core::String*>* #t215 = <core::String*, core::String*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                             ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
       else
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                                            ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
-    #t247.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
-  } =>#t247;
+    #t215.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
+  } =>#t215;
   block {
-    final core::List<core::int*>* #t248 = <core::int*>[];
+    final core::List<core::int*>* #t216 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t248.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t216.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
                                                              ^"){(core::int*) →* void};
       else
-        #t248.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t248;
+        #t216.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t216;
   block {
-    final core::Set<core::int*>* #t249 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t217 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t249.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
                                                              ^"){(core::int*) →* core::bool*};
       else
-        #t249.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t249.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t249;
+        #t217.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t217.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t217;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
@@ -1907,28 +1875,28 @@
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
                                                                      ^": null};
   block {
-    final core::List<core::int*>* #t250 = <core::int*>[];
+    final core::List<core::int*>* #t218 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t250.{core::List::add}{Invariant}(42){(core::int*) →* void};
+        #t218.{core::List::add}{Invariant}(42){(core::int*) →* void};
       else
-        #t250.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t218.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
                                                                      ^"){(core::int*) →* void};
-  } =>#t250;
+  } =>#t218;
   block {
-    final core::Set<core::int*>* #t251 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t219 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t251.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+        #t219.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
       else
-        #t251.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t219.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
                                                                      ^"){(core::int*) →* core::bool*};
-    #t251.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t251;
+    #t219.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t219;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
@@ -1938,218 +1906,218 @@
                                                                                     ^": null};
   final core::int* i = 0;
   block {
-    final core::List<core::int*>* #t252 = <core::int*>[];
-    for (final core::int* #t253 in <core::int*>[1]) {
+    final core::List<core::int*>* #t220 = <core::int*>[];
+    for (final core::int* #t221 in <core::int*>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
   <int>[for (i in <int>[1]) i];
              ^";
-      #t252.{core::List::add}{Invariant}(i){(core::int*) →* void};
+      #t220.{core::List::add}{Invariant}(i){(core::int*) →* void};
     }
-  } =>#t252;
+  } =>#t220;
   block {
-    final core::Set<core::int*>* #t254 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t255 in <core::int*>[1]) {
+    final core::Set<core::int*>* #t222 = col::LinkedHashSet::•<core::int*>();
+    for (final core::int* #t223 in <core::int*>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
   <int>{for (i in <int>[1]) i, null};
              ^";
-      #t254.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+      #t222.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
     }
-    #t254.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t254;
+    #t222.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t222;
   block {
-    final core::Map<core::String*, core::int*>* #t256 = <core::String*, core::int*>{};
-    for (final core::int* #t257 in <core::int*>[1]) {
+    final core::Map<core::String*, core::int*>* #t224 = <core::String*, core::int*>{};
+    for (final core::int* #t225 in <core::int*>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
 \t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
 \t                   ^";
-      #t256.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+      #t224.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
     }
-    #t256.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t256;
+    #t224.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t224;
   core::List<dynamic>* list10 = block {
-    final core::List<dynamic>* #t258 = <dynamic>[];
+    final core::List<dynamic>* #t226 = <dynamic>[];
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:236:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var list10 = [for (var i in \"not iterable\") i];
                               ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t258.{core::List::add}{Invariant}(i){(dynamic) →* void};
-  } =>#t258;
+      #t226.{core::List::add}{Invariant}(i){(dynamic) →* void};
+  } =>#t226;
   core::Set<dynamic>* set10 = block {
-    final core::Set<dynamic>* #t259 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t227 = col::LinkedHashSet::•<dynamic>();
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var set10 = {for (var i in \"not iterable\") i, null};
                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t259.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
-    #t259.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t259;
+      #t227.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
+    #t227.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t227;
   core::Map<core::String*, dynamic>* map10 = block {
-    final core::Map<core::String*, dynamic>* #t260 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t228 = <core::String*, dynamic>{};
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:238:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t260.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
-    #t260.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t260;
+      #t228.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
+    #t228.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t228;
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t261 = <core::int*>[];
+    final core::List<core::int*>* #t229 = <core::int*>[];
     for (core::int* i in <core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                       ^" in "int" as{TypeError} core::int*])
-      #t261.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t261;
+      #t229.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t229;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t262 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t230 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i in <core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                               ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                                      ^" in "int" as{TypeError} core::int*])
-      #t262.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-    #t262.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t262;
+      #t230.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+    #t230.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t230;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t263 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t231 = <core::String*, core::int*>{};
     for (core::int* i in <core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:241:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                               ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:241:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                                      ^" in "int" as{TypeError} core::int*])
-      #t263.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-    #t263.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t263;
+      #t231.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+    #t231.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t231;
   core::List<dynamic>* list30 = block {
-    final core::List<dynamic>* #t264 = <dynamic>[];
+    final core::List<dynamic>* #t232 = <dynamic>[];
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:242:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var list30 = [await for (var i in \"not stream\") i];
                                     ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t264.{core::List::add}{Invariant}(i){(dynamic) →* void};
-  } =>#t264;
+      #t232.{core::List::add}{Invariant}(i){(dynamic) →* void};
+  } =>#t232;
   core::Set<dynamic>* set30 = block {
-    final core::Set<dynamic>* #t265 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t233 = col::LinkedHashSet::•<dynamic>();
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var set30 = {await for (var i in \"not stream\") i, null};
                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t265.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
-    #t265.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t265;
+      #t233.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
+    #t233.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t233;
   core::Map<core::String*, dynamic>* map30 = block {
-    final core::Map<core::String*, dynamic>* #t266 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t234 = <core::String*, dynamic>{};
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:244:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t266.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
-    #t266.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t266;
+      #t234.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
+    #t234.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t234;
   core::List<core::int*>* list40 = block {
-    final core::List<core::int*>* #t267 = <core::int*>[];
+    final core::List<core::int*>* #t235 = <core::int*>[];
     await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                          ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                                 ^" in "int" as{TypeError} core::int*]))
-      #t267.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t267;
+      #t235.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t235;
   core::Set<core::int*>* set40 = block {
-    final core::Set<core::int*>* #t268 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t236 = col::LinkedHashSet::•<core::int*>();
     await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                         ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                                ^" in "int" as{TypeError} core::int*]))
-      #t268.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-    #t268.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t268;
+      #t236.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+    #t236.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t236;
   core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t269 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t237 = <core::String*, core::int*>{};
     await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                         ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                                ^" in "int" as{TypeError} core::int*]))
-      #t269.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-    #t269.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t269;
+      #t237.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+    #t237.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t237;
   core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t270 = <core::int*>[];
+    final core::List<core::int*>* #t238 = <core::int*>[];
     for (; ; )
-      #t270.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t270;
+      #t238.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t238;
   core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t271 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t239 = col::LinkedHashSet::•<core::int*>();
     for (; ; )
-      #t271.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t271.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t271;
+      #t239.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t239.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t239;
   core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t272 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t240 = <core::String*, core::int*>{};
     for (; ; )
-      #t272.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t272.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t272;
+      #t240.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t240.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t240;
   core::List<core::int*>* list60 = block {
-    final core::List<core::int*>* #t273 = <core::int*>[];
+    final core::List<core::int*>* #t241 = <core::int*>[];
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var list60 = [for (; \"not bool\";) 42];
                        ^" in "not bool" as{TypeError} core::bool*; )
-      #t273.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t273;
+      #t241.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t241;
   core::Set<core::int*>* set60 = block {
-    final core::Set<core::int*>* #t274 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t242 = col::LinkedHashSet::•<core::int*>();
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var set60 = {for (; \"not bool\";) 42, null};
                       ^" in "not bool" as{TypeError} core::bool*; )
-      #t274.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t274.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t274;
+      #t242.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t242.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t242;
   core::Map<core::String*, core::int*>* map60 = block {
-    final core::Map<core::String*, core::int*>* #t275 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t243 = <core::String*, core::int*>{};
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
                       ^" in "not bool" as{TypeError} core::bool*; )
-      #t275.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t275.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t275;
+      #t243.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t243.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t243;
 }
 static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
   block {
-    final core::List<core::int*>* #t276 = <core::int*>[];
+    final core::List<core::int*>* #t244 = <core::int*>[];
     await for (core::int* i in stream)
-      #t276.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t276;
+      #t244.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t244;
   block {
-    final core::Set<core::int*>* #t277 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t245 = col::LinkedHashSet::•<core::int*>();
     await for (core::int* i in stream)
-      #t277.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-  } =>#t277;
+      #t245.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+  } =>#t245;
   block {
-    final core::Map<core::String*, core::int*>* #t278 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t246 = <core::String*, core::int*>{};
     await for (core::int* i in stream)
-      #t278.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-  } =>#t278;
+      #t246.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+  } =>#t246;
 }
 static method testPromotion(self::A* a) → dynamic {
   core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t279 = <core::int*>[];
+    final core::List<core::int*>* #t247 = <core::int*>[];
     if(a is self::B*)
-      #t279.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
-  } =>#t279;
+      #t247.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
+  } =>#t247;
   core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t280 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t248 = col::LinkedHashSet::•<core::int*>();
     if(a is self::B*)
-      #t280.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
-  } =>#t280;
+      #t248.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
+  } =>#t248;
   core::Map<core::int*, core::int*>* map10 = block {
-    final core::Map<core::int*, core::int*>* #t281 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t249 = <core::int*, core::int*>{};
     if(a is self::B*)
-      #t281.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
-  } =>#t281;
+      #t249.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
+  } =>#t249;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.modular.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.modular.expect
index 7bea2cf..ea911ec 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.modular.expect
@@ -516,501 +516,486 @@
   core::Map<core::String*, core::int*>* map20 = block {
     final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t13 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
+      #t12.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
     #t12.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
   } =>#t12;
   core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t14 = <dynamic>[];
+    final core::List<dynamic>* #t13 = <dynamic>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t14.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t14;
+      #t13.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t13;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t15 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t14 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t15.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t15.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t15;
+      #t14.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t14.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t14;
   core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t16 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t15 = <core::String*, dynamic>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t17 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{core::String*}, #t17.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t16.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t16;
+      #t15.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t15.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t15;
   core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t18 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t16 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t18.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t18;
+      #t16.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t16;
   core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t19 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t17 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t19.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t19.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t19;
+      #t17.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t17.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t17;
   core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t20 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t18 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t21 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::String*}, #t21.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t20.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t20;
+      #t18.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t18.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t18;
   core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t22 = <core::int*>[];
+    final core::List<core::int*>* #t19 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t22.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-  } =>#t22;
+        #t19.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t19;
   core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t23 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t20 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t23.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-    #t23.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t23;
+        #t20.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t20.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t20;
   core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t24 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t21 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t25 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-          #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}{core::String*}, #t25.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t24;
+        #t21.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t21.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t21;
   core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t26 = <dynamic>[];
+    final core::List<dynamic>* #t22 = <dynamic>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t26.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t26;
+        #t22.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t22;
   core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t27 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t23 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t27.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t27.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t27;
+        #t23.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t23.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t23;
   core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t28 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t24 = <core::String*, dynamic>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t29 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-          #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}{core::String*}, #t29.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t28.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t28;
+        #t24.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t24;
   core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t30 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t25 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t30.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t30;
+        #t25.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t25;
   core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t31 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t26 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t31.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t31.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t31;
+        #t26.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t26.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t26;
   core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t27 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t33 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t32.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t32;
+        #t27.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t27.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t27;
   core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t34 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t28 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t34.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t34;
+      #t28.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t28;
   core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t35 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t29 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t35.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t35;
+      #t29.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t29.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t29;
   core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
                                  ^";
   core::List<core::List<core::int*>*>* list41 = block {
-    final core::List<core::List<core::int*>*>* #t36 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t30 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t36.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t37 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t37.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t37){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t36;
+      #t30.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t31 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t31.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t31){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t30;
   core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t38 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t32 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t38.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t39 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t39.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t39){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t38.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t38;
+      #t32.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t33 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t33.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t33){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t32.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t32;
   core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t40 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t34 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t40.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t40;
+        #t34.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t34;
   core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t41 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t35 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t41.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t41.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t41;
+        #t35.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t35;
   core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t36 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t43 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}{core::String*}, #t43.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t42.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t42;
+        #t36.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t36.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t36;
   core::List<core::int*>* list50 = block {
+    final core::List<core::int*>* #t37 = <core::int*>[];
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t37.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+  } =>#t37;
+  core::Set<core::int*>* set50 = block {
+    final core::Set<core::int*>* #t38 = col::LinkedHashSet::•<core::int*>();
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t38.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+    #t38.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t38;
+  core::Map<core::String*, core::int*>* map50 = block {
+    final core::Map<core::String*, core::int*>* #t39 = <core::String*, core::int*>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t39.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
+    #t39.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t39;
+  core::List<core::int*>* list51 = block {
+    final core::List<core::int*>* #t40 = <core::int*>[];
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t40.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t41 = col::LinkedHashSet::•<core::int*>();
+      } =>#t41){(core::Iterable<core::int*>*) →* void};
+  } =>#t40;
+  core::Set<core::int*>* set51 = block {
+    final core::Set<core::int*>* #t42 = col::LinkedHashSet::•<core::int*>();
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t42.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t43 = col::LinkedHashSet::•<core::int*>();
+      } =>#t43){(core::Iterable<core::int*>*) →* void};
+    #t42.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t42;
+  core::List<core::int*>* list52 = block {
     final core::List<core::int*>* #t44 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t44.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t44.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
   } =>#t44;
-  core::Set<core::int*>* set50 = block {
+  core::Set<core::int*>* set52 = block {
     final core::Set<core::int*>* #t45 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t45.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t45.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
     #t45.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
   } =>#t45;
-  core::Map<core::String*, core::int*>* map50 = block {
+  core::Map<core::String*, core::int*>* map52 = block {
     final core::Map<core::String*, core::int*>* #t46 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t47 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}{core::String*}, #t47.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t46.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
     #t46.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
   } =>#t46;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t48 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t48.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t49 = col::LinkedHashSet::•<core::int*>();
-      } =>#t49){(core::Iterable<core::int*>*) →* void};
-  } =>#t48;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t50 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t50.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t51 = col::LinkedHashSet::•<core::int*>();
-      } =>#t51){(core::Iterable<core::int*>*) →* void};
-    #t50.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t50;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t52 = <core::int*>[];
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t52.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-  } =>#t52;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t53 = col::LinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t53.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-    #t53.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t53;
-  core::Map<core::String*, core::int*>* map52 = block {
-    final core::Map<core::String*, core::int*>* #t54 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t55 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-          #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::String*}, #t55.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t54.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t54;
   core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t56 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t47 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t56.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t56;
+      #t47.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t47;
   core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t57 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t48 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t57.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t57.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t57;
+      #t48.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t48.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t48;
   core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t58 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t49 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t59 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}{core::String*}, #t59.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t58.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t58;
+      #t49.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t49.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t49;
   core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t60 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t50 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t60.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t60;
+        #t50.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t50;
   core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t61 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t51 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t61.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t61.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t61;
+        #t51.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t51.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t51;
   core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t62 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t52 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t63 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}{core::String*}, #t63.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t62;
+        #t52.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t52.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t52;
   core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t64 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t53 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t64.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t64;
+      #t53.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
+  } =>#t53;
   core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t65 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t54 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t65.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t65.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t65;
+      #t54.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t54.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t54;
   core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t66 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t55 = <core::List<core::int*>*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t66.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t66;
+        #t55.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
+  } =>#t55;
   core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t67 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t56 = col::LinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t67.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t67.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t67;
+        #t56.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t56.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t56;
   core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t68 = <core::num*>[];
+    final core::List<core::num*>* #t57 = <core::num*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t68.{core::List::add}{Invariant}(42){(core::num*) →* void};
+      #t57.{core::List::add}{Invariant}(42){(core::num*) →* void};
     else
-      #t68.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
-  } =>#t68;
+      #t57.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
+  } =>#t57;
   core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t69 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t58 = col::LinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t69.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
+      #t58.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
     else
-      #t69.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t69.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t69;
+      #t58.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t58.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t58;
   core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t70 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t59 = <core::String*, core::num*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t70.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
+      #t59.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
     else
-      #t70.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t70.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t70;
+      #t59.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t59.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t59;
   core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t71 = <core::num*>[];
+    final core::List<core::num*>* #t60 = <core::num*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t71.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t60.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t71.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t71;
+      #t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t60;
   core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t72 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t61 = col::LinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t72.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t72.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-    #t72.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t72;
+      #t61.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+    #t61.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t61;
   core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t73 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t62 = <core::String*, core::num*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t74 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-        #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}{core::String*}, #t74.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+      #t62.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String*, core::num*>*) →* void};
     else
-      for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t75 in mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-        #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}{core::String*}, #t75.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-    #t73.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t73;
+      #t62.{core::Map::addAll}{Invariant}(mapToDouble){(core::Map<core::String*, core::num*>*) →* void};
+    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t62;
   core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t76 = <dynamic>[];
+    final core::List<dynamic>* #t63 = <dynamic>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t76.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+      #t63.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
     else
-      #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-  } =>#t76;
+      #t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+  } =>#t63;
   core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t77 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t64 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t77.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+      #t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
     else
-      #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t77.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t77;
+      #t64.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t64.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t64;
   core::Set<dynamic>* map82 = block {
-    final core::Set<dynamic>* #t78 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t65 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
                                      ^"){(dynamic) →* core::bool*};
     else
-      #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t78.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t78;
+      #t65.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t65.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t65;
   core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t79 = <core::num*>[];
+    final core::List<core::num*>* #t66 = <core::num*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t79.{core::List::add}{Invariant}(42){(core::num*) →* void};
+      #t66.{core::List::add}{Invariant}(42){(core::num*) →* void};
     else
-      #t79.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t79;
+      #t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t66;
   core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t80 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t67 = col::LinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t80.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t80.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t80.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t80;
+      #t67.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t67.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t67;
   core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t81 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t68 = <core::String*, core::num*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t82 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-        #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}{core::String*}, #t82.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+      #t68.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String*, core::num*>*) →* void};
     else
-      #t81.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t81.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t81;
+      #t68.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t68.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t68;
   core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t83 = <core::int*>[];
+    final core::List<core::int*>* #t69 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t83;
+      #t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t69;
   core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t84 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t70 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t84.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t84;
+      #t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t70.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t70;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t85 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t71 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t85.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t85;
+      #t71.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t71.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t71;
   core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t86 = <core::int*>[];
+    final core::List<core::int*>* #t72 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer dynamic #t87 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t88 = #t87 as{TypeError} core::int*;
-        #t86.{core::List::add}{Invariant}(#t88){(core::int*) →* void};
+      for (final has-declared-initializer dynamic #t73 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t74 = #t73 as{TypeError} core::int*;
+        #t72.{core::List::add}{Invariant}(#t74){(core::int*) →* void};
       }
-  } =>#t86;
+  } =>#t72;
   core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t89 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t75 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer dynamic #t90 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t91 = #t90 as{TypeError} core::int*;
-        #t89.{core::Set::add}{Invariant}(#t91){(core::int*) →* core::bool*};
+      for (final has-declared-initializer dynamic #t76 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t77 = #t76 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t77){(core::int*) →* core::bool*};
       }
-    #t89.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t89;
+    #t75.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t75;
   core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t92 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t78 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t93 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
-        final core::String* #t94 = #t93.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
-        final core::int* #t95 = #t93.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-        #t92.{core::Map::[]=}{Invariant}(#t94, #t95){(core::String*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t79 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
+        final core::String* #t80 = #t79.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
+        final core::int* #t81 = #t79.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t78.{core::Map::[]=}{Invariant}(#t80, #t81){(core::String*, core::int*) →* void};
       }
-    #t92.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t92;
+    #t78.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t78;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t96 = <core::int*>[];
+    final core::List<core::int*>* #t82 = <core::int*>[];
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t96.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t96;
+      #t82.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t82;
   core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t97 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t83 = col::LinkedHashSet::•<core::int*>();
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t97.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t97;
+      #t83.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t83;
   core::Map<core::int*, core::int*>* map100 = block {
-    final core::Map<core::int*, core::int*>* #t98 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t84 = <core::int*, core::int*>{};
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t98.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
-  } =>#t98;
+      #t84.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
+  } =>#t84;
 }
 static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
   block {
-    final core::List<core::int*>* #t99 = <core::int*>[];
+    final core::List<core::int*>* #t85 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t99.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t85.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) \"bar\"];
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
-  } =>#t99;
+  } =>#t85;
   block {
-    final core::Set<core::int*>* #t100 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t86 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t100.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) \"bar\", null};
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
-    #t100.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t100;
+    #t86.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t86;
   block {
-    final core::Map<core::String*, core::int*>* #t101 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t87 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t101.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t87.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
                                           ^" in "bar" as{TypeError} core::int*){(core::String*, core::int*) →* void};
-    #t101.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t101;
+    #t87.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t87;
   block {
-    final core::List<core::int*>* #t102 = <core::int*>[];
+    final core::List<core::int*>* #t88 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t102.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t88.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) ...[\"bar\"]];
                                ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-  } =>#t102;
+  } =>#t88;
   block {
-    final core::Set<core::int*>* #t103 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t89 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t103.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t89.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) ...[\"bar\"], null};
                                ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-    #t103.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t103;
+    #t89.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t89;
   block {
-    final core::Map<core::String*, core::int*>* #t104 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t90 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t105 in <core::String*, core::int*>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t90.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                              ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t104.{core::Map::[]=}{Invariant}(#t105.{core::MapEntry::key}{core::String*}, #t105.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t104.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t104;
+                                              ^" in "bar" as{TypeError} core::int*}){(core::Map<core::String*, core::int*>*) →* void};
+    #t90.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t90;
   block {
-    final core::List<core::int*>* #t106 = <core::int*>[];
+    final core::List<core::int*>* #t91 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t106.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t91.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map];
                               ^"){(core::int*) →* void};
-  } =>#t106;
+  } =>#t91;
   block {
-    final core::Set<core::int*>* #t107 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t92 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t107.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map, null};
                               ^"){(core::int*) →* core::bool*};
-    #t107.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t107;
+    #t92.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t92;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
@@ -1019,61 +1004,61 @@
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::String*>* #t108 = <core::String*>[];
+    final core::List<core::String*>* #t93 = <core::String*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t108;
+  } =>#t93;
   block {
-    final core::Set<core::String*>* #t109 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t94 = col::LinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
-    #t109.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
-  } =>#t109;
+    #t94.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
+  } =>#t94;
   block {
-    final core::Map<core::String*, core::String*>* #t110 = <core::String*, core::String*>{};
+    final core::Map<core::String*, core::String*>* #t95 = <core::String*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t110.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t95.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                              ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
     else
-      #t110.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t95.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                                             ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
-    #t110.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
-  } =>#t110;
+    #t95.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
+  } =>#t95;
   block {
-    final core::List<core::int*>* #t111 = <core::int*>[];
+    final core::List<core::int*>* #t96 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t111.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t96.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map else 42];
                               ^"){(core::int*) →* void};
     else
-      #t111.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t111;
+      #t96.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t96;
   block {
-    final core::Set<core::int*>* #t112 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t97 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t112.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t112.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t112.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t112;
+      #t97.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t97.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t97;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
@@ -1082,26 +1067,26 @@
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::int*>* #t113 = <core::int*>[];
+    final core::List<core::int*>* #t98 = <core::int*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t113.{core::List::add}{Invariant}(42){(core::int*) →* void};
+      #t98.{core::List::add}{Invariant}(42){(core::int*) →* void};
     else
-      #t113.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t98.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) 42 else ...map];
                                       ^"){(core::int*) →* void};
-  } =>#t113;
+  } =>#t98;
   block {
-    final core::Set<core::int*>* #t114 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t99 = col::LinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t114.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t114.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t114;
+      #t99.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t99.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t99;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
@@ -1128,709 +1113,692 @@
   var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                    ^": null};
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t115 = <core::int*>[];
+    final core::List<core::int*>* #t100 = <core::int*>[];
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   List<int> list20 = [if (42) 42];
                           ^" in 42 as{TypeError} core::bool*)
-      #t115.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t115;
+      #t100.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t100;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t116 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t101 = col::LinkedHashSet::•<core::int*>();
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Set<int> set20 = {if (42) 42};
                         ^" in 42 as{TypeError} core::bool*)
-      #t116.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t116;
+      #t101.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t101;
   core::Map<core::int*, core::int*>* map30 = block {
-    final core::Map<core::int*, core::int*>* #t117 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t102 = <core::int*, core::int*>{};
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Map<int, int> map30 = {if (42) 42: 42};
                              ^" in 42 as{TypeError} core::bool*)
-      #t117.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
-  } =>#t117;
+      #t102.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
+  } =>#t102;
   core::List<core::String*>* list40 = block {
-    final core::List<core::String*>* #t118 = <core::String*>[];
+    final core::List<core::String*>* #t103 = <core::String*>[];
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                     ^" in true as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t118;
+  } =>#t103;
   core::Set<core::String*>* set40 = block {
-    final core::Set<core::String*>* #t119 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t104 = col::LinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                   ^" in true as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                             ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
-  } =>#t119;
+  } =>#t104;
   core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t120 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t105 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                             ^" in true as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
     else
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                                           ^" in 42 as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
-  } =>#t120;
+  } =>#t105;
   core::Map<core::int*, core::String*>* map41 = block {
-    final core::Map<core::int*, core::String*>* #t121 = <core::int*, core::String*>{};
+    final core::Map<core::int*, core::String*>* #t106 = <core::int*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                 ^" in true as{TypeError} core::String*){(core::int*, core::String*) →* void};
     else
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                               ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
-  } =>#t121;
+  } =>#t106;
 }
 static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
   core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t122 = <core::int*>[];
+    final core::List<core::int*>* #t107 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t122.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t122;
+      #t107.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t107;
   core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t123 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t108 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t123.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t123.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t123;
+      #t108.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t108.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t108;
   core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t109 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t124.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t124;
+      #t109.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t109.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t109;
   core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t125 = <dynamic>[];
+    final core::List<dynamic>* #t110 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t125.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
-  } =>#t125;
+      #t110.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
+  } =>#t110;
   core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t126 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t111 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t126.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
-    #t126.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t126;
+      #t111.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
+    #t111.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t111;
   core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t127 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t112 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t127.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
-    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t127;
+      #t112.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
+    #t112.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t112;
   core::List<core::List<core::int*>*>* list12 = block {
-    final core::List<core::List<core::int*>*>* #t128 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t113 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t128.{core::List::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* void};
-  } =>#t128;
+      #t113.{core::List::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* void};
+  } =>#t113;
   core::Set<core::List<core::int*>*>* set12 = block {
-    final core::Set<core::List<core::int*>*>* #t129 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t114 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t129.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
-    #t129.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t129;
+      #t114.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+    #t114.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t114;
   core::Map<core::String*, core::List<core::int*>*>* map12 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t130 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t115 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t130.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
-    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t130;
+      #t115.{core::Map::[]=}{Invariant}("bar", <core::int*>[42]){(core::String*, core::List<core::int*>*) →* void};
+    #t115.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t115;
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t131 = <core::int*>[];
+    final core::List<core::int*>* #t116 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t131.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-  } =>#t131;
+      #t116.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t116;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t132 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t117 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t132.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-    #t132.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t132;
+      #t117.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t117.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t117;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t133 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t118 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t134 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t133.{core::Map::[]=}{Invariant}(#t134.{core::MapEntry::key}{core::String*}, #t134.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t133;
+      #t118.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t118.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t118;
   core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t135 = <dynamic>[];
+    final core::List<dynamic>* #t119 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t135.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t135;
+      #t119.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t119;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t136 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t120 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t136.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t136.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t136;
+      #t120.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t120.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t120;
   core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t137 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t121 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t138 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-        #t137.{core::Map::[]=}{Invariant}(#t138.{core::MapEntry::key}{core::String*}, #t138.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t137.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t137;
+      #t121.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t121.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t121;
   core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t139 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t122 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t139.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t139;
+      #t122.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t122;
   core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t140 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t123 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t140.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t140.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t140;
+      #t123.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t123.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t123;
   core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t141 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t124 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t142 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t141.{core::Map::[]=}{Invariant}(#t142.{core::MapEntry::key}{core::String*}, #t142.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t141.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t141;
+      #t124.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t124;
   core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t143 = <core::int*>[];
+    final core::List<core::int*>* #t125 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t143.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-  } =>#t143;
+        #t125.{core::List::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+  } =>#t125;
   core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t144 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t126 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t144.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
-    #t144.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t144;
+        #t126.{core::Set::addAll}{Invariant}(<core::int*>[42]){(core::Iterable<core::int*>*) →* void};
+    #t126.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t126;
   core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t145 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t127 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t146 in <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-          #t145.{core::Map::[]=}{Invariant}(#t146.{core::MapEntry::key}{core::String*}, #t146.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t145.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t145;
+        #t127.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t127;
   core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t147 = <dynamic>[];
+    final core::List<dynamic>* #t128 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t147.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-  } =>#t147;
+        #t128.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+  } =>#t128;
   core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t148 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t129 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t148.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
-    #t148.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t148;
+        #t129.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>*) →* void};
+    #t129.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t129;
   core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t149 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t130 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, dynamic>* #t150 in <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>})
-          #t149.{core::Map::[]=}{Invariant}(#t150.{core::MapEntry::key}{core::String*}, #t150.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-    #t149.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t149;
+        #t130.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t130;
   core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t151 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t131 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t151.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t151;
+        #t131.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t131;
   core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t152 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t132 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t152.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t152.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t152;
+        #t132.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[42]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t132.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t132;
   core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t153 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t133 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t154 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t153.{core::Map::[]=}{Invariant}(#t154.{core::MapEntry::key}{core::String*}, #t154.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t153.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t153;
+        #t133.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[42]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t133;
   core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t155 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t134 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t155.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t155;
+      #t134.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t134;
   core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t156 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t135 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t156.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t156.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t156;
+      #t135.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t135.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t135;
   core::Map<core::String*, core::List<core::int*>*>* map40 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t157 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t136 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t158 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t157.{core::Map::[]=}{Invariant}(#t158.{core::MapEntry::key}{core::String*}, #t158.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t157.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t157;
+      #t136.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t136.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t136;
   core::List<core::List<core::int*>*>* list41 = block {
+    final core::List<core::List<core::int*>*>* #t137 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t137.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t138 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t138.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t138){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t137;
+  core::Set<core::List<core::int*>*>* set41 = block {
+    final core::Set<core::List<core::int*>*>* #t139 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t139.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t140 = col::LinkedHashSet::•<core::List<core::int*>*>();
+        #t140.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+      } =>#t140){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t139.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t139;
+  core::List<core::List<core::int*>*>* list42 = block {
+    final core::List<core::List<core::int*>*>* #t141 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t141.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t141;
+  core::Set<core::List<core::int*>*>* set42 = block {
+    final core::Set<core::List<core::int*>*>* #t142 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t142.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t142.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t142;
+  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t143 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t143.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t143.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t143;
+  core::List<core::int*>* list50 = block {
+    final core::List<core::int*>* #t144 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t144.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+  } =>#t144;
+  core::Set<core::int*>* set50 = block {
+    final core::Set<core::int*>* #t145 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t145.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+    #t145.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t145;
+  core::Map<core::String*, core::int*>* map50 = block {
+    final core::Map<core::String*, core::int*>* #t146 = <core::String*, core::int*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t146.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
+    #t146.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t146;
+  core::List<core::int*>* list51 = block {
+    final core::List<core::int*>* #t147 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t147.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t148 = col::LinkedHashSet::•<core::int*>();
+      } =>#t148){(core::Iterable<core::int*>*) →* void};
+  } =>#t147;
+  core::Set<core::int*>* set51 = block {
+    final core::Set<core::int*>* #t149 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t149.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t150 = col::LinkedHashSet::•<core::int*>();
+      } =>#t150){(core::Iterable<core::int*>*) →* void};
+    #t149.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t149;
+  core::List<core::int*>* list52 = block {
+    final core::List<core::int*>* #t151 = <core::int*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t151.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+  } =>#t151;
+  core::Set<core::int*>* set52 = block {
+    final core::Set<core::int*>* #t152 = col::LinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t152.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
+    #t152.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t152;
+  core::List<core::List<core::int*>*>* list60 = block {
+    final core::List<core::List<core::int*>*>* #t153 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t153.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t153;
+  core::Set<core::List<core::int*>*>* set60 = block {
+    final core::Set<core::List<core::int*>*>* #t154 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t154.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t154.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t154;
+  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t155 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t155.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t155.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t155;
+  core::List<core::List<core::int*>*>* list61 = block {
+    final core::List<core::List<core::int*>*>* #t156 = <core::List<core::int*>*>[];
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t156.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t156;
+  core::Set<core::List<core::int*>*>* set61 = block {
+    final core::Set<core::List<core::int*>*>* #t157 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t157.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t157.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t157;
+  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t158 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t158.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t158.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t158;
+  core::List<core::List<core::int*>*>* list70 = block {
     final core::List<core::List<core::int*>*>* #t159 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t159.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t160 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t160.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t160){(core::Iterable<core::List<core::int*>*>*) →* void};
+      #t159.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
   } =>#t159;
-  core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t161 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t161.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t162 = col::LinkedHashSet::•<core::List<core::int*>*>();
-        #t162.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-      } =>#t162){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t161.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t161;
-  core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t163 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t163.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t163;
-  core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t164 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t164.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t164.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t164;
-  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t165 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t166 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t165.{core::Map::[]=}{Invariant}(#t166.{core::MapEntry::key}{core::String*}, #t166.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t165.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t165;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t167 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t167.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-  } =>#t167;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t168 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t168.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-    #t168.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t168;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t169 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t170 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t169.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::String*}, #t170.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t169.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t169;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t171 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t171.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t172 = col::LinkedHashSet::•<core::int*>();
-      } =>#t172){(core::Iterable<core::int*>*) →* void};
-  } =>#t171;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t173 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t173.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t174 = col::LinkedHashSet::•<core::int*>();
-      } =>#t174){(core::Iterable<core::int*>*) →* void};
-    #t173.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t173;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t175 = <core::int*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t175.{core::List::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-  } =>#t175;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t176 = col::LinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t176.{core::Set::addAll}{Invariant}(<core::int*>[]){(core::Iterable<core::int*>*) →* void};
-    #t176.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t176;
-  core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t177 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t177.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t177;
-  core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t178 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t178.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t178.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t178;
-  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t179 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t180 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-        #t179.{core::Map::[]=}{Invariant}(#t180.{core::MapEntry::key}{core::String*}, #t180.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t179;
-  core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t181 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t181.{core::List::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t181;
-  core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t182 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t182.{core::Set::addAll}{Invariant}(<core::List<core::int*>*>[<core::int*>[]]){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t182.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t182;
-  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t183 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t184 in <core::String*, core::List<core::int*>*>{"bar": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-          #t183.{core::Map::[]=}{Invariant}(#t184.{core::MapEntry::key}{core::String*}, #t184.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-    #t183.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t183;
-  core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t185 = <core::List<core::int*>*>[];
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t185.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t185;
   core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t186 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t160 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t186.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t186.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t186;
+      #t160.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t160.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t160;
   core::Map<core::String*, core::List<core::int*>*>* map70 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t187 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t161 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t187.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
-    #t187.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t187;
+      #t161.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
+    #t161.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t161;
   core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t188 = <core::List<core::int*>*>[];
+    final core::List<core::List<core::int*>*>* #t162 = <core::List<core::int*>*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t188.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
-  } =>#t188;
+        #t162.{core::List::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* void};
+  } =>#t162;
   core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t189 = col::LinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t163 = col::LinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t189.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
-    #t189.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t189;
+        #t163.{core::Set::add}{Invariant}(<core::int*>[]){(core::List<core::int*>*) →* core::bool*};
+    #t163.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t163;
   core::Map<core::String*, core::List<core::int*>*>* map71 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t190 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t164 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t190.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
-    #t190.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t190;
+        #t164.{core::Map::[]=}{Invariant}("bar", <core::int*>[]){(core::String*, core::List<core::int*>*) →* void};
+    #t164.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t164;
   core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t191 = <core::num*>[];
+    final core::List<core::num*>* #t165 = <core::num*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t191.{core::List::add}{Invariant}(42){(core::num*) →* void};
+        #t165.{core::List::add}{Invariant}(42){(core::num*) →* void};
       else
-        #t191.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
-  } =>#t191;
+        #t165.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
+  } =>#t165;
   core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t192 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t166 = col::LinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t192.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
+        #t166.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
       else
-        #t192.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t192.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t192;
+        #t166.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t166.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t166;
   core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t193 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t167 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t193.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
+        #t167.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
       else
-        #t193.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t193.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t193;
+        #t167.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t167.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t167;
   core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t194 = <core::num*>[];
+    final core::List<core::num*>* #t168 = <core::num*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t194.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t168.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t194.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t194;
+        #t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t168;
   core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t195 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t169 = col::LinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t195.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t195.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-    #t195.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t195;
+        #t169.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+    #t169.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t169;
   core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t196 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t170 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t197 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-          #t196.{core::Map::[]=}{Invariant}(#t197.{core::MapEntry::key}{core::String*}, #t197.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+        #t170.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String*, core::num*>*) →* void};
       else
-        for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t198 in mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-          #t196.{core::Map::[]=}{Invariant}(#t198.{core::MapEntry::key}{core::String*}, #t198.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-    #t196.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t196;
+        #t170.{core::Map::addAll}{Invariant}(mapStringDouble){(core::Map<core::String*, core::num*>*) →* void};
+    #t170.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t170;
   core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t199 = <dynamic>[];
+    final core::List<dynamic>* #t171 = <dynamic>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t199.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+        #t171.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
       else
-        #t199.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-  } =>#t199;
+        #t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+  } =>#t171;
   core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t200 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t172 = col::LinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t200.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+        #t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
       else
-        #t200.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t200.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t200;
+        #t172.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t172.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t172;
   core::Map<dynamic, dynamic>* map82 = block {
-    final core::Map<dynamic, dynamic>* #t201 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>* #t173 = <dynamic, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t202 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t202.{core::MapEntry::key}{dynamic}, #t202.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+        #t173.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<dynamic, dynamic>*) →* void};
       else
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t203 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}{dynamic}, #t203.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-    #t201.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) →* void};
-  } =>#t201;
+        #t173.{core::Map::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*){(core::Map<dynamic, dynamic>*) →* void};
+    #t173.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) →* void};
+  } =>#t173;
   core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t204 = <core::num*>[];
+    final core::List<core::num*>* #t174 = <core::num*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t204.{core::List::add}{Invariant}(42){(core::num*) →* void};
+        #t174.{core::List::add}{Invariant}(42){(core::num*) →* void};
       else
-        #t204.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t204;
+        #t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t174;
   core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t205 = col::LinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t175 = col::LinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t205.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t205.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t205.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t205;
+        #t175.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t175.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t175;
   core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t206 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t176 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        for (final has-declared-initializer core::MapEntry<core::String*, core::num*>* #t207 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>})
-          #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}{core::String*}, #t207.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
+        #t176.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String*, core::num*>*) →* void};
       else
-        #t206.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t206.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t206;
+        #t176.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t176.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t176;
   core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t208 = <core::int*>[];
+    final core::List<core::int*>* #t177 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t208.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t208;
+      #t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t177;
   core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t209 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t178 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t209.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t209.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t209;
+      #t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t178.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t178;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t210 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t179 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t210.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t210.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t210;
+      #t179.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t179;
   core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t211 = <core::int*>[];
+    final core::List<core::int*>* #t180 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer dynamic #t212 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t213 = #t212 as{TypeError} core::int*;
-        #t211.{core::List::add}{Invariant}(#t213){(core::int*) →* void};
+      for (final has-declared-initializer dynamic #t181 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t182 = #t181 as{TypeError} core::int*;
+        #t180.{core::List::add}{Invariant}(#t182){(core::int*) →* void};
       }
-  } =>#t211;
+  } =>#t180;
   core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t214 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t183 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer dynamic #t215 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-        final core::int* #t216 = #t215 as{TypeError} core::int*;
-        #t214.{core::Set::add}{Invariant}(#t216){(core::int*) →* core::bool*};
+      for (final has-declared-initializer dynamic #t184 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+        final core::int* #t185 = #t184 as{TypeError} core::int*;
+        #t183.{core::Set::add}{Invariant}(#t185){(core::int*) →* core::bool*};
       }
-    #t214.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t214;
+    #t183.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t183;
   core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t217 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t186 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t218 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
-        final core::String* #t219 = #t218.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
-        final core::int* #t220 = #t218.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-        #t217.{core::Map::[]=}{Invariant}(#t219, #t220){(core::String*, core::int*) →* void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t187 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}) {
+        final core::String* #t188 = #t187.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
+        final core::int* #t189 = #t187.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t186.{core::Map::[]=}{Invariant}(#t188, #t189){(core::String*, core::int*) →* void};
       }
-    #t217.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t217;
+    #t186.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t186;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t221 = <core::int*>[];
-    for (final core::int* #t222 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t221.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t221;
+    final core::List<core::int*>* #t190 = <core::int*>[];
+    for (final core::int* #t191 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t190.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t190;
   core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t223 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t224 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t223.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t223;
+    final core::Set<core::int*>* #t192 = col::LinkedHashSet::•<core::int*>();
+    for (final core::int* #t193 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t192.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t192;
   core::Map<core::String*, core::int*>* map100 = block {
-    final core::Map<core::String*, core::int*>* #t225 = <core::String*, core::int*>{};
-    for (final core::int* #t226 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t225.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-  } =>#t225;
+    final core::Map<core::String*, core::int*>* #t194 = <core::String*, core::int*>{};
+    for (final core::int* #t195 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t194.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+  } =>#t194;
   core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t227 = <core::int*>[];
+    final core::List<core::int*>* #t196 = <core::int*>[];
     for (core::int* i in <core::int*>[1, 2, 3])
-      #t227.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t227;
+      #t196.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t196;
   core::Set<core::int*>* set110 = block {
-    final core::Set<core::int*>* #t228 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t197 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i in <core::int*>[1, 2, 3])
-      #t228.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-    #t228.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t228;
+      #t197.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+    #t197.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t197;
   core::Map<core::String*, core::int*>* map110 = block {
-    final core::Map<core::String*, core::int*>* #t229 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t198 = <core::String*, core::int*>{};
     for (core::int* i in <core::int*>[1, 2, 3])
-      #t229.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-    #t229.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t229;
+      #t198.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+    #t198.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t198;
   core::List<core::int*>* list120 = block {
-    final core::List<core::int*>* #t230 = <core::int*>[];
+    final core::List<core::int*>* #t199 = <core::int*>[];
     for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t230.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t230;
+      #t199.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t199;
   core::Set<core::int*>* set120 = block {
-    final core::Set<core::int*>* #t231 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t200 = col::LinkedHashSet::•<core::int*>();
     for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t231.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t231.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t231;
+      #t200.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t200.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t200;
   core::Map<core::String*, core::int*>* map120 = block {
-    final core::Map<core::String*, core::int*>* #t232 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t201 = <core::String*, core::int*>{};
     for (dynamic i in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*)
-      #t232.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t232.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t232;
+      #t201.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t201.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t201;
   core::List<core::int*>* list130 = block {
-    final core::List<core::int*>* #t233 = <core::int*>[];
+    final core::List<core::int*>* #t202 = <core::int*>[];
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t233.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t233;
+      #t202.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t202;
   core::Set<core::int*>* set130 = block {
-    final core::Set<core::int*>* #t234 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t203 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t234.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-  } =>#t234;
+      #t203.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+  } =>#t203;
   core::Map<core::int*, core::int*>* map130 = block {
-    final core::Map<core::int*, core::int*>* #t235 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t204 = <core::int*, core::int*>{};
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t235.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
-  } =>#t235;
+      #t204.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
+  } =>#t204;
 }
 static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async /* futureValueType= dynamic */ {
   block {
-    final core::List<core::int*>* #t236 = <core::int*>[];
+    final core::List<core::int*>* #t205 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t236.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t205.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
                                             ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
-  } =>#t236;
+  } =>#t205;
   block {
-    final core::Set<core::int*>* #t237 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t206 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t237.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
                                             ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
-    #t237.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t237;
+    #t206.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t206;
   block {
-    final core::Map<core::int*, core::int*>* #t238 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t207 = <core::int*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                  ^" in "bar" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                         ^" in "bar" as{TypeError} core::int*){(core::int*, core::int*) →* void};
-    #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                                ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
-  } =>#t238;
+  } =>#t207;
   block {
-    final core::List<core::int*>* #t239 = <core::int*>[];
+    final core::List<core::int*>* #t208 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t239.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t208.{core::List::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
                                                 ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-  } =>#t239;
+  } =>#t208;
   block {
-    final core::Set<core::int*>* #t240 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t209 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t240.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t209.{core::Set::addAll}{Invariant}(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
                                                 ^" in "bar" as{TypeError} core::int*]){(core::Iterable<core::int*>*) →* void};
-    #t240.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t240;
+    #t209.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t209;
   block {
-    final core::Map<core::int*, core::int*>* #t241 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t210 = <core::int*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      for (final has-declared-initializer core::MapEntry<core::int*, core::int*>* #t242 in <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t210.{core::Map::addAll}{Invariant}(<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                      ^" in "bar" as{TypeError} core::int*: invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                            ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>})
-        #t241.{core::Map::[]=}{Invariant}(#t242.{core::MapEntry::key}{core::int*}, #t242.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
-    #t241.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+                                                            ^" in "bar" as{TypeError} core::int*}){(core::Map<core::int*, core::int*>*) →* void};
+    #t210.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                                     ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
-  } =>#t241;
+  } =>#t210;
   block {
-    final core::List<core::int*>* #t243 = <core::int*>[];
+    final core::List<core::int*>* #t211 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t243.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t211.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
                                                ^"){(core::int*) →* void};
-  } =>#t243;
+  } =>#t211;
   block {
-    final core::Set<core::int*>* #t244 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t212 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t244.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
                                                ^"){(core::int*) →* core::bool*};
-    #t244.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t244;
+    #t212.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t212;
   <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
@@ -1839,66 +1807,66 @@
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
                                                     ^": null};
   block {
-    final core::List<core::String*>* #t245 = <core::String*>[];
+    final core::List<core::String*>* #t213 = <core::String*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                              ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
       else
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                                      ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t245;
+  } =>#t213;
   block {
-    final core::Set<core::String*>* #t246 = col::LinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t214 = col::LinkedHashSet::•<core::String*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                              ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
       else
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                                      ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
-    #t246.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
-  } =>#t246;
+    #t214.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
+  } =>#t214;
   block {
-    final core::Map<core::String*, core::String*>* #t247 = <core::String*, core::String*>{};
+    final core::Map<core::String*, core::String*>* #t215 = <core::String*, core::String*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                             ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
       else
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                                            ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
-    #t247.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
-  } =>#t247;
+    #t215.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
+  } =>#t215;
   block {
-    final core::List<core::int*>* #t248 = <core::int*>[];
+    final core::List<core::int*>* #t216 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t248.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t216.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
                                                              ^"){(core::int*) →* void};
       else
-        #t248.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t248;
+        #t216.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t216;
   block {
-    final core::Set<core::int*>* #t249 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t217 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t249.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
                                                              ^"){(core::int*) →* core::bool*};
       else
-        #t249.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t249.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t249;
+        #t217.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t217.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t217;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
@@ -1907,28 +1875,28 @@
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
                                                                      ^": null};
   block {
-    final core::List<core::int*>* #t250 = <core::int*>[];
+    final core::List<core::int*>* #t218 = <core::int*>[];
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t250.{core::List::add}{Invariant}(42){(core::int*) →* void};
+        #t218.{core::List::add}{Invariant}(42){(core::int*) →* void};
       else
-        #t250.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t218.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
                                                                      ^"){(core::int*) →* void};
-  } =>#t250;
+  } =>#t218;
   block {
-    final core::Set<core::int*>* #t251 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t219 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t251.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+        #t219.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
       else
-        #t251.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t219.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
                                                                      ^"){(core::int*) →* core::bool*};
-    #t251.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t251;
+    #t219.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t219;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
@@ -1938,218 +1906,218 @@
                                                                                     ^": null};
   final core::int* i = 0;
   block {
-    final core::List<core::int*>* #t252 = <core::int*>[];
-    for (final core::int* #t253 in <core::int*>[1]) {
+    final core::List<core::int*>* #t220 = <core::int*>[];
+    for (final core::int* #t221 in <core::int*>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
   <int>[for (i in <int>[1]) i];
              ^";
-      #t252.{core::List::add}{Invariant}(i){(core::int*) →* void};
+      #t220.{core::List::add}{Invariant}(i){(core::int*) →* void};
     }
-  } =>#t252;
+  } =>#t220;
   block {
-    final core::Set<core::int*>* #t254 = col::LinkedHashSet::•<core::int*>();
-    for (final core::int* #t255 in <core::int*>[1]) {
+    final core::Set<core::int*>* #t222 = col::LinkedHashSet::•<core::int*>();
+    for (final core::int* #t223 in <core::int*>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
   <int>{for (i in <int>[1]) i, null};
              ^";
-      #t254.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+      #t222.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
     }
-    #t254.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t254;
+    #t222.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t222;
   block {
-    final core::Map<core::String*, core::int*>* #t256 = <core::String*, core::int*>{};
-    for (final core::int* #t257 in <core::int*>[1]) {
+    final core::Map<core::String*, core::int*>* #t224 = <core::String*, core::int*>{};
+    for (final core::int* #t225 in <core::int*>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
 \t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
 \t                   ^";
-      #t256.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+      #t224.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
     }
-    #t256.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t256;
+    #t224.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t224;
   core::List<dynamic>* list10 = block {
-    final core::List<dynamic>* #t258 = <dynamic>[];
+    final core::List<dynamic>* #t226 = <dynamic>[];
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:236:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var list10 = [for (var i in \"not iterable\") i];
                               ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t258.{core::List::add}{Invariant}(i){(dynamic) →* void};
-  } =>#t258;
+      #t226.{core::List::add}{Invariant}(i){(dynamic) →* void};
+  } =>#t226;
   core::Set<dynamic>* set10 = block {
-    final core::Set<dynamic>* #t259 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t227 = col::LinkedHashSet::•<dynamic>();
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var set10 = {for (var i in \"not iterable\") i, null};
                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t259.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
-    #t259.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t259;
+      #t227.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
+    #t227.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t227;
   core::Map<core::String*, dynamic>* map10 = block {
-    final core::Map<core::String*, dynamic>* #t260 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t228 = <core::String*, dynamic>{};
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:238:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*)
-      #t260.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
-    #t260.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t260;
+      #t228.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
+    #t228.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t228;
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t261 = <core::int*>[];
+    final core::List<core::int*>* #t229 = <core::int*>[];
     for (core::int* i in <core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                       ^" in "int" as{TypeError} core::int*])
-      #t261.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t261;
+      #t229.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t229;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t262 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t230 = col::LinkedHashSet::•<core::int*>();
     for (core::int* i in <core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                               ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                                      ^" in "int" as{TypeError} core::int*])
-      #t262.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-    #t262.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t262;
+      #t230.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+    #t230.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t230;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t263 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t231 = <core::String*, core::int*>{};
     for (core::int* i in <core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:241:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                               ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:241:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                                      ^" in "int" as{TypeError} core::int*])
-      #t263.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-    #t263.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t263;
+      #t231.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+    #t231.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t231;
   core::List<dynamic>* list30 = block {
-    final core::List<dynamic>* #t264 = <dynamic>[];
+    final core::List<dynamic>* #t232 = <dynamic>[];
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:242:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var list30 = [await for (var i in \"not stream\") i];
                                     ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t264.{core::List::add}{Invariant}(i){(dynamic) →* void};
-  } =>#t264;
+      #t232.{core::List::add}{Invariant}(i){(dynamic) →* void};
+  } =>#t232;
   core::Set<dynamic>* set30 = block {
-    final core::Set<dynamic>* #t265 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t233 = col::LinkedHashSet::•<dynamic>();
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var set30 = {await for (var i in \"not stream\") i, null};
                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t265.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
-    #t265.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t265;
+      #t233.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
+    #t233.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t233;
   core::Map<core::String*, dynamic>* map30 = block {
-    final core::Map<core::String*, dynamic>* #t266 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t234 = <core::String*, dynamic>{};
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:244:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*)
-      #t266.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
-    #t266.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t266;
+      #t234.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
+    #t234.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t234;
   core::List<core::int*>* list40 = block {
-    final core::List<core::int*>* #t267 = <core::int*>[];
+    final core::List<core::int*>* #t235 = <core::int*>[];
     await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                          ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                                 ^" in "int" as{TypeError} core::int*]))
-      #t267.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t267;
+      #t235.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t235;
   core::Set<core::int*>* set40 = block {
-    final core::Set<core::int*>* #t268 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t236 = col::LinkedHashSet::•<core::int*>();
     await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                         ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                                ^" in "int" as{TypeError} core::int*]))
-      #t268.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-    #t268.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t268;
+      #t236.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+    #t236.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t236;
   core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t269 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t237 = <core::String*, core::int*>{};
     await for (core::int* i in asy::Stream::fromIterable<core::int*>(<core::int*>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                         ^" in "not" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                                ^" in "int" as{TypeError} core::int*]))
-      #t269.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-    #t269.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t269;
+      #t237.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+    #t237.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t237;
   core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t270 = <core::int*>[];
+    final core::List<core::int*>* #t238 = <core::int*>[];
     for (; ; )
-      #t270.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t270;
+      #t238.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t238;
   core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t271 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t239 = col::LinkedHashSet::•<core::int*>();
     for (; ; )
-      #t271.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t271.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t271;
+      #t239.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t239.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t239;
   core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t272 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t240 = <core::String*, core::int*>{};
     for (; ; )
-      #t272.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t272.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t272;
+      #t240.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t240.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t240;
   core::List<core::int*>* list60 = block {
-    final core::List<core::int*>* #t273 = <core::int*>[];
+    final core::List<core::int*>* #t241 = <core::int*>[];
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var list60 = [for (; \"not bool\";) 42];
                        ^" in "not bool" as{TypeError} core::bool*; )
-      #t273.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t273;
+      #t241.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t241;
   core::Set<core::int*>* set60 = block {
-    final core::Set<core::int*>* #t274 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t242 = col::LinkedHashSet::•<core::int*>();
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var set60 = {for (; \"not bool\";) 42, null};
                       ^" in "not bool" as{TypeError} core::bool*; )
-      #t274.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t274.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t274;
+      #t242.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t242.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t242;
   core::Map<core::String*, core::int*>* map60 = block {
-    final core::Map<core::String*, core::int*>* #t275 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t243 = <core::String*, core::int*>{};
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
                       ^" in "not bool" as{TypeError} core::bool*; )
-      #t275.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t275.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t275;
+      #t243.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t243.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t243;
 }
 static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
   block {
-    final core::List<core::int*>* #t276 = <core::int*>[];
+    final core::List<core::int*>* #t244 = <core::int*>[];
     await for (core::int* i in stream)
-      #t276.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t276;
+      #t244.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t244;
   block {
-    final core::Set<core::int*>* #t277 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t245 = col::LinkedHashSet::•<core::int*>();
     await for (core::int* i in stream)
-      #t277.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-  } =>#t277;
+      #t245.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+  } =>#t245;
   block {
-    final core::Map<core::String*, core::int*>* #t278 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t246 = <core::String*, core::int*>{};
     await for (core::int* i in stream)
-      #t278.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-  } =>#t278;
+      #t246.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+  } =>#t246;
 }
 static method testPromotion(self::A* a) → dynamic {
   core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t279 = <core::int*>[];
+    final core::List<core::int*>* #t247 = <core::int*>[];
     if(a is self::B*)
-      #t279.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
-  } =>#t279;
+      #t247.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
+  } =>#t247;
   core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t280 = col::LinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t248 = col::LinkedHashSet::•<core::int*>();
     if(a is self::B*)
-      #t280.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
-  } =>#t280;
+      #t248.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
+  } =>#t248;
   core::Map<core::int*, core::int*>* map10 = block {
-    final core::Map<core::int*, core::int*>* #t281 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t249 = <core::int*, core::int*>{};
     if(a is self::B*)
-      #t281.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
-  } =>#t281;
+      #t249.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
+  } =>#t249;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
index ef6dd9c..5316e10 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference.dart.weak.transformed.expect
@@ -515,577 +515,502 @@
   } =>#t11;
   core::Map<core::String*, core::int*>* map20 = block {
     final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t12.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
     #t12.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
   } =>#t12;
   core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t14 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t13 = core::_GrowableList::•<dynamic>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t14.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-  } =>#t14;
+      #t13.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+  } =>#t13;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t15 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t14 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t15.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-    #t15.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t15;
+      #t14.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+    #t14.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t14;
   core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t16 = <core::String*, dynamic>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, dynamic>* #t17 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{core::String*}, #t17.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-      }
-    }
-    #t16.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t16;
+    final core::Map<core::String*, dynamic>* #t15 = <core::String*, dynamic>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t15.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t15.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t15;
   core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t18 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t16 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t18.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t18;
+      #t16.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t16;
   core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t19 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t17 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t19.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t19.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t19;
+      #t17.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t17.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t17;
   core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t20 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::String*}, #t21.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-      }
-    }
-    #t20.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t20;
+    final core::Map<core::String*, core::List<core::int*>*>* #t18 = <core::String*, core::List<core::int*>*>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t18.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t18.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t18;
   core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t22 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t19 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t22.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
-  } =>#t22;
+        #t19.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+  } =>#t19;
   core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t23 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t20 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t23.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
-    #t23.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t23;
+        #t20.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+    #t20.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t20;
   core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t24 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t21 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::int*>* #t25 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-          #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}{core::String*}, #t25.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-        }
-      }
-    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t24;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t21.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t21.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t21;
   core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t26 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t22 = core::_GrowableList::•<dynamic>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t26.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-  } =>#t26;
+        #t22.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+  } =>#t22;
   core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t27 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t23 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t27.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-    #t27.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t27;
+        #t23.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+    #t23.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t23;
   core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t28 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t24 = <core::String*, dynamic>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, dynamic>* #t29 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
-          #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}{core::String*}, #t29.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-        }
-      }
-    #t28.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t28;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t24.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t24;
   core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t30 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t25 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t30.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t30;
+        #t25.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t25;
   core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t31 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t26 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t31.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t31.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t31;
+        #t26.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t26.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t26;
   core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t27 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-          #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-        }
-      }
-    #t32.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t32;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t27.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t27.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t27;
   core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t34 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t28 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t34.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t34;
+      #t28.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t28;
   core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t35 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t29 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t35.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t35;
+      #t29.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t29.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t29;
   core::Map<core::String*, core::List<core::int*>*>* map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:41:34: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   Map<String, List<int>> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
                                  ^";
   core::List<core::List<core::int*>*>* list41 = block {
-    final core::List<core::List<core::int*>*>* #t36 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t30 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t36.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t37 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-        #t37.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-      } =>#t37){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t36;
+      #t30.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t31 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+        #t31.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+      } =>#t31){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t30;
   core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t38 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t32 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t38.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t39 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-        #t39.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-      } =>#t39){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t38.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t38;
+      #t32.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t33 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+        #t33.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+      } =>#t33){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t32.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t32;
   core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t40 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t34 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t40.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t40;
+        #t34.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t34;
   core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t41 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t35 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t41.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t41.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t41;
+        #t35.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t35;
   core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t42 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t36 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t43 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-          #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}{core::String*}, #t43.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-        }
-      }
-    #t42.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t42;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t36.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t36.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t36;
   core::List<core::int*>* list50 = block {
+    final core::List<core::int*>* #t37 = core::_GrowableList::•<core::int*>(0);
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t37.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+  } =>#t37;
+  core::Set<core::int*>* set50 = block {
+    final core::Set<core::int*>* #t38 = new col::_CompactLinkedHashSet::•<core::int*>();
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t38.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+    #t38.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t38;
+  core::Map<core::String*, core::int*>* map50 = block {
+    final core::Map<core::String*, core::int*>* #t39 = <core::String*, core::int*>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t39.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
+    #t39.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t39;
+  core::List<core::int*>* list51 = block {
+    final core::List<core::int*>* #t40 = core::_GrowableList::•<core::int*>(0);
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t40.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t41 = new col::_CompactLinkedHashSet::•<core::int*>();
+      } =>#t41){(core::Iterable<core::int*>*) →* void};
+  } =>#t40;
+  core::Set<core::int*>* set51 = block {
+    final core::Set<core::int*>* #t42 = new col::_CompactLinkedHashSet::•<core::int*>();
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t42.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t43 = new col::_CompactLinkedHashSet::•<core::int*>();
+      } =>#t43){(core::Iterable<core::int*>*) →* void};
+    #t42.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t42;
+  core::List<core::int*>* list52 = block {
     final core::List<core::int*>* #t44 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t44.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t44.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
   } =>#t44;
-  core::Set<core::int*>* set50 = block {
+  core::Set<core::int*>* set52 = block {
     final core::Set<core::int*>* #t45 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t45.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t45.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
     #t45.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
   } =>#t45;
-  core::Map<core::String*, core::int*>* map50 = block {
+  core::Map<core::String*, core::int*>* map52 = block {
     final core::Map<core::String*, core::int*>* #t46 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t47 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}{core::String*}, #t47.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t46.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
     #t46.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
   } =>#t46;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t48 = core::_GrowableList::•<core::int*>(0);
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t48.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t49 = new col::_CompactLinkedHashSet::•<core::int*>();
-      } =>#t49){(core::Iterable<core::int*>*) →* void};
-  } =>#t48;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t50 = new col::_CompactLinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t50.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t51 = new col::_CompactLinkedHashSet::•<core::int*>();
-      } =>#t51){(core::Iterable<core::int*>*) →* void};
-    #t50.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t50;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t52 = core::_GrowableList::•<core::int*>(0);
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t52.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
-  } =>#t52;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t53 = new col::_CompactLinkedHashSet::•<core::int*>();
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t53.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
-    #t53.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t53;
-  core::Map<core::String*, core::int*>* map52 = block {
-    final core::Map<core::String*, core::int*>* #t54 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::int*>* #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-          #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::String*}, #t55.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-        }
-      }
-    #t54.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t54;
   core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t56 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t47 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t56.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t56;
+      #t47.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t47;
   core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t57 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t48 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t57.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t57.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t57;
+      #t48.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t48.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t48;
   core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t58 = <core::String*, core::List<core::int*>*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t59 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-        #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}{core::String*}, #t59.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-      }
-    }
-    #t58.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t58;
+    final core::Map<core::String*, core::List<core::int*>*>* #t49 = <core::String*, core::List<core::int*>*>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t49.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t49.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t49;
   core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t60 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t50 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t60.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t60;
+        #t50.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t50;
   core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t61 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t51 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t61.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t61.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t61;
+        #t51.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t51.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t51;
   core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t62 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t52 = <core::String*, core::List<core::int*>*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t63 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-          #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}{core::String*}, #t63.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-        }
-      }
-    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t62;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t52.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t52.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t52;
   core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t64 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t53 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t64.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
-  } =>#t64;
+      #t53.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
+  } =>#t53;
   core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t65 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t54 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t65.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-    #t65.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t65;
+      #t54.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+    #t54.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t54;
   core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t66 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t55 = core::_GrowableList::•<core::List<core::int*>*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t66.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
-  } =>#t66;
+        #t55.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
+  } =>#t55;
   core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t67 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t56 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t67.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-    #t67.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t67;
+        #t56.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+    #t56.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t56;
   core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t68 = core::_GrowableList::•<core::num*>(0);
+    final core::List<core::num*>* #t57 = core::_GrowableList::•<core::num*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t68.{core::List::add}{Invariant}(42){(core::num*) →* void};
+      #t57.{core::List::add}{Invariant}(42){(core::num*) →* void};
     else
-      #t68.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
-  } =>#t68;
+      #t57.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
+  } =>#t57;
   core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t69 = new col::_CompactLinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t58 = new col::_CompactLinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t69.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
+      #t58.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
     else
-      #t69.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t69.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t69;
+      #t58.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t58.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t58;
   core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t70 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t59 = <core::String*, core::num*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t70.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
+      #t59.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
     else
-      #t70.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t70.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t70;
+      #t59.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t59.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t59;
   core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t71 = core::_GrowableList::•<core::num*>(0);
+    final core::List<core::num*>* #t60 = core::_GrowableList::•<core::num*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t71.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t60.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t71.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t71;
+      #t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t60;
   core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t72 = new col::_CompactLinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t61 = new col::_CompactLinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t72.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t72.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-    #t72.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t72;
+      #t61.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+    #t61.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t61;
   core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t73 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::num*>* #t74 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
-        #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}{core::String*}, #t74.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-      }
-    }
-    else {
-      core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::num*>* #t75 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
-        #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}{core::String*}, #t75.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-      }
-    }
-    #t73.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t73;
+    final core::Map<core::String*, core::num*>* #t62 = <core::String*, core::num*>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t62.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String*, core::num*>*) →* void};
+    else
+      #t62.{core::Map::addAll}{Invariant}(mapToDouble){(core::Map<core::String*, core::num*>*) →* void};
+    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t62;
   core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t76 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t63 = core::_GrowableList::•<dynamic>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t76.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+      #t63.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
     else
-      #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-  } =>#t76;
+      #t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+  } =>#t63;
   core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t77 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t64 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t77.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+      #t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
     else
-      #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t77.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t77;
+      #t64.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t64.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t64;
   core::Set<dynamic>* map82 = block {
-    final core::Set<dynamic>* #t78 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t65 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:73:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
                                      ^"){(dynamic) →* core::bool*};
     else
-      #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t78.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t78;
+      #t65.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t65.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t65;
   core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t79 = core::_GrowableList::•<core::num*>(0);
+    final core::List<core::num*>* #t66 = core::_GrowableList::•<core::num*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t79.{core::List::add}{Invariant}(42){(core::num*) →* void};
+      #t66.{core::List::add}{Invariant}(42){(core::num*) →* void};
     else
-      #t79.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t79;
+      #t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t66;
   core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t80 = new col::_CompactLinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t67 = new col::_CompactLinkedHashSet::•<core::num*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t80.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+      #t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
     else
-      #t80.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t80.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t80;
+      #t67.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t67.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t67;
   core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t81 = <core::String*, core::num*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::num*>* #t82 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
-        #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}{core::String*}, #t82.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-      }
-    }
+    final core::Map<core::String*, core::num*>* #t68 = <core::String*, core::num*>{};
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t68.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String*, core::num*>*) →* void};
     else
-      #t81.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t81.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t81;
+      #t68.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t68.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t68;
   core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t83 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t69 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t83;
+      #t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t69;
   core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t84 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t70 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t84.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t84;
+      #t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t70.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t70;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t85 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t71 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t85.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t85;
+      #t71.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t71.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t71;
   core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t86 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t72 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t87 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int* #t88 = #t87 as{TypeError} core::int*;
-          #t86.{core::List::add}{Invariant}(#t88){(core::int*) →* void};
+          final core::int* #t74 = #t73 as{TypeError} core::int*;
+          #t72.{core::List::add}{Invariant}(#t74){(core::int*) →* void};
         }
       }
     }
-  } =>#t86;
+  } =>#t72;
   core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t89 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t75 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t90 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t76 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int* #t91 = #t90 as{TypeError} core::int*;
-          #t89.{core::Set::add}{Invariant}(#t91){(core::int*) →* core::bool*};
+          final core::int* #t77 = #t76 as{TypeError} core::int*;
+          #t75.{core::Set::add}{Invariant}(#t77){(core::int*) →* core::bool*};
         }
       }
     }
-    #t89.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t89;
+    #t75.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t75;
   core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t92 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t78 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
       core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t93 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
+        final core::MapEntry<dynamic, dynamic>* #t79 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
         {
-          final core::String* #t94 = #t93.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
-          final core::int* #t95 = #t93.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-          #t92.{core::Map::[]=}{Invariant}(#t94, #t95){(core::String*, core::int*) →* void};
+          final core::String* #t80 = #t79.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
+          final core::int* #t81 = #t79.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t78.{core::Map::[]=}{Invariant}(#t80, #t81){(core::String*, core::int*) →* void};
         }
       }
     }
-    #t92.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t92;
+    #t78.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t78;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t96 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t82 = core::_GrowableList::•<core::int*>(0);
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t96.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t96;
+      #t82.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t82;
   core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t97 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t83 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t97.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t97;
+      #t83.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t83;
   core::Map<core::int*, core::int*>* map100 = block {
-    final core::Map<core::int*, core::int*>* #t98 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t84 = <core::int*, core::int*>{};
     if(dynVar as{TypeError,ForDynamic} core::bool*)
-      #t98.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
-  } =>#t98;
+      #t84.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
+  } =>#t84;
 }
 static method testIfElementErrors(core::Map<core::int*, core::int*>* map) → dynamic {
   block {
-    final core::List<core::int*>* #t99 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t85 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t99.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t85.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:89:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) \"bar\"];
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
-  } =>#t99;
+  } =>#t85;
   block {
-    final core::Set<core::int*>* #t100 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t86 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t100.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:90:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) \"bar\", null};
                            ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
-    #t100.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t100;
+    #t86.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t86;
   block {
-    final core::Map<core::String*, core::int*>* #t101 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t87 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t101.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t87.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:91:43: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <String, int>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
                                           ^" in "bar" as{TypeError} core::int*){(core::String*, core::int*) →* void};
-    #t101.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t101;
+    #t87.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t87;
   block {
-    final core::List<core::int*>* #t102 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t88 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t102.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t88.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:92:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) ...[\"bar\"]];
                                ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
-  } =>#t102;
+  } =>#t88;
   block {
-    final core::Set<core::int*>* #t103 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t89 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t103.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t89.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:93:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{if (oracle(\"foo\")) ...[\"bar\"], null};
                                ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
-    #t103.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t103;
+    #t89.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t89;
   block {
-    final core::Map<core::String*, core::int*>* #t104 = <core::String*, core::int*>{};
-    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
-  <String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                              ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t105 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t104.{core::Map::[]=}{Invariant}(#t105.{core::MapEntry::key}{core::String*}, #t105.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-    #t104.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t104;
-  block {
-    final core::List<core::int*>* #t106 = core::_GrowableList::•<core::int*>(0);
+    final core::Map<core::String*, core::int*>* #t90 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t106.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t90.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:94:47: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+  <String, int>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
+                                              ^" in "bar" as{TypeError} core::int*}){(core::Map<core::String*, core::int*>*) →* void};
+    #t90.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t90;
+  block {
+    final core::List<core::int*>* #t91 = core::_GrowableList::•<core::int*>(0);
+    if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
+      #t91.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:95:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map];
                               ^"){(core::int*) →* void};
-  } =>#t106;
+  } =>#t91;
   block {
-    final core::Set<core::int*>* #t107 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t92 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t107.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:96:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map, null};
                               ^"){(core::int*) →* core::bool*};
-    #t107.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t107;
+    #t92.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t92;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:97:39: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
@@ -1094,61 +1019,61 @@
   <String, int>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::String*>* #t108 = core::_GrowableList::•<core::String*>(0);
+    final core::List<core::String*>* #t93 = core::_GrowableList::•<core::String*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:98:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t108;
+  } =>#t93;
   block {
-    final core::Set<core::String*>* #t109 = new col::_CompactLinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t94 = new col::_CompactLinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                               ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:99:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>{if (oracle(\"foo\")) 42 else 3.14, null};
                                       ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
-    #t109.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
-  } =>#t109;
+    #t94.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
+  } =>#t94;
   block {
-    final core::Map<core::String*, core::String*>* #t110 = <core::String*, core::String*>{};
+    final core::Map<core::String*, core::String*>* #t95 = <core::String*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t110.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t95.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:46: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                              ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
     else
-      #t110.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t95.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:100:61: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String, String>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                                             ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
-    #t110.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
-  } =>#t110;
+    #t95.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
+  } =>#t95;
   block {
-    final core::List<core::int*>* #t111 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t96 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t111.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t96.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:101:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map else 42];
                               ^"){(core::int*) →* void};
     else
-      #t111.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t111;
+      #t96.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t96;
   block {
-    final core::Set<core::int*>* #t112 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t97 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t112.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:102:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t112.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t112.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t112;
+      #t97.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t97.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t97;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:103:39: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
@@ -1157,26 +1082,26 @@
   <String, int>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
                                       ^": null};
   block {
-    final core::List<core::int*>* #t113 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t98 = core::_GrowableList::•<core::int*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t113.{core::List::add}{Invariant}(42){(core::int*) →* void};
+      #t98.{core::List::add}{Invariant}(42){(core::int*) →* void};
     else
-      #t113.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t98.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:104:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) 42 else ...map];
                                       ^"){(core::int*) →* void};
-  } =>#t113;
+  } =>#t98;
   block {
-    final core::Set<core::int*>* #t114 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t99 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:105:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{if (oracle(\"foo\")) ...map else 42, null};
                               ^"){(core::int*) →* core::bool*};
     else
-      #t114.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t114.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t114;
+      #t99.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t99.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t99;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:106:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
@@ -1203,822 +1128,737 @@
   var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                    ^": null};
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t115 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t100 = core::_GrowableList::•<core::int*>(0);
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:114:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   List<int> list20 = [if (42) 42];
                           ^" in 42 as{TypeError} core::bool*)
-      #t115.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t115;
+      #t100.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t100;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t116 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t101 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:115:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Set<int> set20 = {if (42) 42};
                         ^" in 42 as{TypeError} core::bool*)
-      #t116.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t116;
+      #t101.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t101;
   core::Map<core::int*, core::int*>* map30 = block {
-    final core::Map<core::int*, core::int*>* #t117 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t102 = <core::int*, core::int*>{};
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:116:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Map<int, int> map30 = {if (42) 42: 42};
                              ^" in 42 as{TypeError} core::bool*)
-      #t117.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
-  } =>#t117;
+      #t102.{core::Map::[]=}{Invariant}(42, 42){(core::int*, core::int*) →* void};
+  } =>#t102;
   core::List<core::String*>* list40 = block {
-    final core::List<core::String*>* #t118 = core::_GrowableList::•<core::String*>(0);
+    final core::List<core::String*>* #t103 = core::_GrowableList::•<core::String*>(0);
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                     ^" in true as{TypeError} core::String*){(core::String*) →* void};
     else
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:117:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                               ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t118;
+  } =>#t103;
   core::Set<core::String*>* set40 = block {
-    final core::Set<core::String*>* #t119 = new col::_CompactLinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t104 = new col::_CompactLinkedHashSet::•<core::String*>();
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                   ^" in true as{TypeError} core::String*){(core::String*) →* core::bool*};
     else
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:118:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                             ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
-  } =>#t119;
+  } =>#t104;
   core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t120 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t105 = <core::String*, core::int*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                             ^" in true as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
     else
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:119:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                                           ^" in 42 as{TypeError} core::String*, 42){(core::String*, core::int*) →* void};
-  } =>#t120;
+  } =>#t105;
   core::Map<core::int*, core::String*>* map41 = block {
-    final core::Map<core::int*, core::String*>* #t121 = <core::int*, core::String*>{};
+    final core::Map<core::int*, core::String*>* #t106 = <core::int*, core::String*>{};
     if(self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*)
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                 ^" in true as{TypeError} core::String*){(core::int*, core::String*) →* void};
     else
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:120:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                               ^" in 42 as{TypeError} core::String*){(core::int*, core::String*) →* void};
-  } =>#t121;
+  } =>#t106;
 }
 static method testForElement(dynamic dynVar, core::List<core::int*>* listInt, core::List<core::double*>* listDouble, core::int* index, core::Map<core::String*, core::int*>* mapStringInt, core::Map<core::String*, core::double*>* mapStringDouble) → dynamic {
   core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t122 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t107 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t122.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t122;
+      #t107.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t107;
   core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t123 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t108 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t123.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t123.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t123;
+      #t108.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t108.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t108;
   core::Map<core::String*, core::int*>* map10 = block {
-    final core::Map<core::String*, core::int*>* #t124 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t109 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t124.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t124;
+      #t109.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t109.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t109;
   core::List<dynamic>* list11 = block {
-    final core::List<dynamic>* #t125 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t110 = core::_GrowableList::•<dynamic>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t125.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
-  } =>#t125;
+      #t110.{core::List::add}{Invariant}(dynVar){(dynamic) →* void};
+  } =>#t110;
   core::Set<dynamic>* set11 = block {
-    final core::Set<dynamic>* #t126 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t111 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t126.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
-    #t126.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t126;
+      #t111.{core::Set::add}{Invariant}(dynVar){(dynamic) →* core::bool*};
+    #t111.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t111;
   core::Map<core::String*, dynamic>* map11 = block {
-    final core::Map<core::String*, dynamic>* #t127 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t112 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t127.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
-    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t127;
+      #t112.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String*, dynamic) →* void};
+    #t112.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t112;
   core::List<core::List<core::int*>*>* list12 = block {
-    final core::List<core::List<core::int*>*>* #t128 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t113 = core::_GrowableList::•<core::List<core::int*>*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t128.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* void};
-  } =>#t128;
+      #t113.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* void};
+  } =>#t113;
   core::Set<core::List<core::int*>*>* set12 = block {
-    final core::Set<core::List<core::int*>*>* #t129 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t114 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t129.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
-    #t129.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t129;
+      #t114.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
+    #t114.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t114;
   core::Map<core::String*, core::List<core::int*>*>* map12 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t130 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t115 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t130.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::_literal1<core::int*>(42)){(core::String*, core::List<core::int*>*) →* void};
-    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t130;
+      #t115.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::_literal1<core::int*>(42)){(core::String*, core::List<core::int*>*) →* void};
+    #t115.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t115;
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t131 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t116 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t131.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
-  } =>#t131;
+      #t116.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+  } =>#t116;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t132 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t117 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t132.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
-    #t132.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t132;
+      #t117.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+    #t117.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t117;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t133 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t134 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t133.{core::Map::[]=}{Invariant}(#t134.{core::MapEntry::key}{core::String*}, #t134.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t133;
+    final core::Map<core::String*, core::int*>* #t118 = <core::String*, core::int*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t118.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t118.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t118;
   core::List<dynamic>* list21 = block {
-    final core::List<dynamic>* #t135 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t119 = core::_GrowableList::•<dynamic>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t135.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-  } =>#t135;
+      #t119.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+  } =>#t119;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t136 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t120 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t136.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-    #t136.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t136;
+      #t120.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+    #t120.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t120;
   core::Map<core::String*, dynamic>* map21 = block {
-    final core::Map<core::String*, dynamic>* #t137 = <core::String*, dynamic>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, dynamic>* #t138 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
-        #t137.{core::Map::[]=}{Invariant}(#t138.{core::MapEntry::key}{core::String*}, #t138.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-      }
-    }
-    #t137.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t137;
+    final core::Map<core::String*, dynamic>* #t121 = <core::String*, dynamic>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t121.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t121.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t121;
   core::List<core::List<core::int*>*>* list22 = block {
-    final core::List<core::List<core::int*>*>* #t139 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t122 = core::_GrowableList::•<core::List<core::int*>*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t139.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t139;
+      #t122.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t122;
   core::Set<core::List<core::int*>*>* set22 = block {
-    final core::Set<core::List<core::int*>*>* #t140 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t123 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t140.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t140.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t140;
+      #t123.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t123.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t123;
   core::Map<core::String*, core::List<core::int*>*>* map22 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t141 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t142 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-        #t141.{core::Map::[]=}{Invariant}(#t142.{core::MapEntry::key}{core::String*}, #t142.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-      }
-    }
-    #t141.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t141;
+    final core::Map<core::String*, core::List<core::int*>*>* #t124 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t124.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t124;
   core::List<core::int*>* list30 = block {
-    final core::List<core::int*>* #t143 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t125 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t143.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
-  } =>#t143;
+        #t125.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+  } =>#t125;
   core::Set<core::int*>* set30 = block {
-    final core::Set<core::int*>* #t144 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t126 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t144.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
-    #t144.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t144;
+        #t126.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::Iterable<core::int*>*) →* void};
+    #t126.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t126;
   core::Map<core::String*, core::int*>* map30 = block {
-    final core::Map<core::String*, core::int*>* #t145 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t127 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::int*>* #t146 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-          #t145.{core::Map::[]=}{Invariant}(#t146.{core::MapEntry::key}{core::String*}, #t146.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-        }
-      }
-    #t145.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t145;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t127.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{"bar": 42}){(core::Map<core::String*, core::int*>*) →* void};
+    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t127;
   core::List<dynamic>* list31 = block {
-    final core::List<dynamic>* #t147 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t128 = core::_GrowableList::•<dynamic>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t147.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-  } =>#t147;
+        #t128.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+  } =>#t128;
   core::Set<dynamic>* set31 = block {
-    final core::Set<dynamic>* #t148 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t129 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t148.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
-    #t148.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t148;
+        #t129.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>*) →* void};
+    #t129.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t129;
   core::Map<core::String*, dynamic>* map31 = block {
-    final core::Map<core::String*, dynamic>* #t149 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t130 = <core::String*, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, dynamic>>* :sync-for-iterator = <core::String*, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, dynamic>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, dynamic>* #t150 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, dynamic>};
-          #t149.{core::Map::[]=}{Invariant}(#t150.{core::MapEntry::key}{core::String*}, #t150.{core::MapEntry::value}{dynamic}){(core::String*, dynamic) →* void};
-        }
-      }
-    #t149.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t149;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t130.{core::Map::addAll}{Invariant}(<core::String*, dynamic>{"bar": dynVar}){(core::Map<core::String*, dynamic>*) →* void};
+    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t130;
   core::List<core::List<core::int*>*>* list33 = block {
-    final core::List<core::List<core::int*>*>* #t151 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t131 = core::_GrowableList::•<core::List<core::int*>*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t151.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t151;
+        #t131.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t131;
   core::Set<core::List<core::int*>*>* set33 = block {
-    final core::Set<core::List<core::int*>*>* #t152 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t132 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t152.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t152.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t152;
+        #t132.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::_literal1<core::int*>(42))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t132.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t132;
   core::Map<core::String*, core::List<core::int*>*>* map33 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t153 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t133 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t154 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-          #t153.{core::Map::[]=}{Invariant}(#t154.{core::MapEntry::key}{core::String*}, #t154.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-        }
-      }
-    #t153.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t153;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t133.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::_literal1<core::int*>(42)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t133;
   core::List<core::List<core::int*>*>* list40 = block {
-    final core::List<core::List<core::int*>*>* #t155 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t134 = core::_GrowableList::•<core::List<core::int*>*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t155.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t155;
+      #t134.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t134;
   core::Set<core::List<core::int*>*>* set40 = block {
-    final core::Set<core::List<core::int*>*>* #t156 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t135 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t156.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t156.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t156;
+      #t135.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t135.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t135;
   core::Map<core::String*, core::List<core::int*>*>* map40 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t157 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t158 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-        #t157.{core::Map::[]=}{Invariant}(#t158.{core::MapEntry::key}{core::String*}, #t158.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-      }
-    }
-    #t157.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t157;
+    final core::Map<core::String*, core::List<core::int*>*>* #t136 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t136.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t136.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t136;
   core::List<core::List<core::int*>*>* list41 = block {
+    final core::List<core::List<core::int*>*>* #t137 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t137.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t138 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+        #t138.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+      } =>#t138){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t137;
+  core::Set<core::List<core::int*>*>* set41 = block {
+    final core::Set<core::List<core::int*>*>* #t139 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t139.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int*>*>* #t140 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+        #t140.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+      } =>#t140){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t139.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t139;
+  core::List<core::List<core::int*>*>* list42 = block {
+    final core::List<core::List<core::int*>*>* #t141 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t141.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t141;
+  core::Set<core::List<core::int*>*>* set42 = block {
+    final core::Set<core::List<core::int*>*>* #t142 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t142.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t142.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t142;
+  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t143 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t143.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t143.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t143;
+  core::List<core::int*>* list50 = block {
+    final core::List<core::int*>* #t144 = core::_GrowableList::•<core::int*>(0);
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t144.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+  } =>#t144;
+  core::Set<core::int*>* set50 = block {
+    final core::Set<core::int*>* #t145 = new col::_CompactLinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t145.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+    #t145.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t145;
+  core::Map<core::String*, core::int*>* map50 = block {
+    final core::Map<core::String*, core::int*>* #t146 = <core::String*, core::int*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t146.{core::Map::addAll}{Invariant}(<core::String*, core::int*>{}){(core::Map<core::String*, core::int*>*) →* void};
+    #t146.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t146;
+  core::List<core::int*>* list51 = block {
+    final core::List<core::int*>* #t147 = core::_GrowableList::•<core::int*>(0);
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t147.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t148 = new col::_CompactLinkedHashSet::•<core::int*>();
+      } =>#t148){(core::Iterable<core::int*>*) →* void};
+  } =>#t147;
+  core::Set<core::int*>* set51 = block {
+    final core::Set<core::int*>* #t149 = new col::_CompactLinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t149.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int*>* #t150 = new col::_CompactLinkedHashSet::•<core::int*>();
+      } =>#t150){(core::Iterable<core::int*>*) →* void};
+    #t149.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t149;
+  core::List<core::int*>* list52 = block {
+    final core::List<core::int*>* #t151 = core::_GrowableList::•<core::int*>(0);
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t151.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+  } =>#t151;
+  core::Set<core::int*>* set52 = block {
+    final core::Set<core::int*>* #t152 = new col::_CompactLinkedHashSet::•<core::int*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t152.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
+    #t152.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t152;
+  core::List<core::List<core::int*>*>* list60 = block {
+    final core::List<core::List<core::int*>*>* #t153 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t153.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t153;
+  core::Set<core::List<core::int*>*>* set60 = block {
+    final core::Set<core::List<core::int*>*>* #t154 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t154.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t154.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t154;
+  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t155 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t155.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t155.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t155;
+  core::List<core::List<core::int*>*>* list61 = block {
+    final core::List<core::List<core::int*>*>* #t156 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t156.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+  } =>#t156;
+  core::Set<core::List<core::int*>*>* set61 = block {
+    final core::Set<core::List<core::int*>*>* #t157 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t157.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
+    #t157.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t157;
+  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
+    final core::Map<core::String*, core::List<core::int*>*>* #t158 = <core::String*, core::List<core::int*>*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t158.{core::Map::addAll}{Invariant}(<core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}){(core::Map<core::String*, core::List<core::int*>*>*) →* void};
+    #t158.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t158;
+  core::List<core::List<core::int*>*>* list70 = block {
     final core::List<core::List<core::int*>*>* #t159 = core::_GrowableList::•<core::List<core::int*>*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t159.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t160 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-        #t160.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-      } =>#t160){(core::Iterable<core::List<core::int*>*>*) →* void};
+      #t159.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
   } =>#t159;
-  core::Set<core::List<core::int*>*>* set41 = block {
-    final core::Set<core::List<core::int*>*>* #t161 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t161.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int*>*>* #t162 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-        #t162.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-      } =>#t162){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t161.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t161;
-  core::List<core::List<core::int*>*>* list42 = block {
-    final core::List<core::List<core::int*>*>* #t163 = core::_GrowableList::•<core::List<core::int*>*>(0);
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t163.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t163;
-  core::Set<core::List<core::int*>*>* set42 = block {
-    final core::Set<core::List<core::int*>*>* #t164 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t164.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t164.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t164;
-  core::Map<core::String*, core::List<core::int*>*>* map42 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t165 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t166 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-          #t165.{core::Map::[]=}{Invariant}(#t166.{core::MapEntry::key}{core::String*}, #t166.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-        }
-      }
-    #t165.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t165;
-  core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t167 = core::_GrowableList::•<core::int*>(0);
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t167.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
-  } =>#t167;
-  core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t168 = new col::_CompactLinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t168.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
-    #t168.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t168;
-  core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t169 = <core::String*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t170 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t169.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::String*}, #t170.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-    #t169.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t169;
-  core::List<core::int*>* list51 = block {
-    final core::List<core::int*>* #t171 = core::_GrowableList::•<core::int*>(0);
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t171.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t172 = new col::_CompactLinkedHashSet::•<core::int*>();
-      } =>#t172){(core::Iterable<core::int*>*) →* void};
-  } =>#t171;
-  core::Set<core::int*>* set51 = block {
-    final core::Set<core::int*>* #t173 = new col::_CompactLinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t173.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int*>* #t174 = new col::_CompactLinkedHashSet::•<core::int*>();
-      } =>#t174){(core::Iterable<core::int*>*) →* void};
-    #t173.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t173;
-  core::List<core::int*>* list52 = block {
-    final core::List<core::int*>* #t175 = core::_GrowableList::•<core::int*>(0);
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t175.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
-  } =>#t175;
-  core::Set<core::int*>* set52 = block {
-    final core::Set<core::int*>* #t176 = new col::_CompactLinkedHashSet::•<core::int*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t176.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::Iterable<core::int*>*) →* void};
-    #t176.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t176;
-  core::List<core::List<core::int*>*>* list60 = block {
-    final core::List<core::List<core::int*>*>* #t177 = core::_GrowableList::•<core::List<core::int*>*>(0);
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t177.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t177;
-  core::Set<core::List<core::int*>*>* set60 = block {
-    final core::Set<core::List<core::int*>*>* #t178 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t178.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t178.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t178;
-  core::Map<core::String*, core::List<core::int*>*>* map60 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t179 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t180 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-        #t179.{core::Map::[]=}{Invariant}(#t180.{core::MapEntry::key}{core::String*}, #t180.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-      }
-    }
-    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t179;
-  core::List<core::List<core::int*>*>* list61 = block {
-    final core::List<core::List<core::int*>*>* #t181 = core::_GrowableList::•<core::List<core::int*>*>(0);
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t181.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-  } =>#t181;
-  core::Set<core::List<core::int*>*>* set61 = block {
-    final core::Set<core::List<core::int*>*>* #t182 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t182.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0))){(core::Iterable<core::List<core::int*>*>*) →* void};
-    #t182.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t182;
-  core::Map<core::String*, core::List<core::int*>*>* map61 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t183 = <core::String*, core::List<core::int*>*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"bar": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::List<core::int*>*>* #t184 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-          #t183.{core::Map::[]=}{Invariant}(#t184.{core::MapEntry::key}{core::String*}, #t184.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-        }
-      }
-    #t183.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t183;
-  core::List<core::List<core::int*>*>* list70 = block {
-    final core::List<core::List<core::int*>*>* #t185 = core::_GrowableList::•<core::List<core::int*>*>(0);
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t185.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
-  } =>#t185;
   core::Set<core::List<core::int*>*>* set70 = block {
-    final core::Set<core::List<core::int*>*>* #t186 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t160 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t186.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-    #t186.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t186;
+      #t160.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+    #t160.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t160;
   core::Map<core::String*, core::List<core::int*>*>* map70 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t187 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t161 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t187.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int*>(0)){(core::String*, core::List<core::int*>*) →* void};
-    #t187.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t187;
+      #t161.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int*>(0)){(core::String*, core::List<core::int*>*) →* void};
+    #t161.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t161;
   core::List<core::List<core::int*>*>* list71 = block {
-    final core::List<core::List<core::int*>*>* #t188 = core::_GrowableList::•<core::List<core::int*>*>(0);
+    final core::List<core::List<core::int*>*>* #t162 = core::_GrowableList::•<core::List<core::int*>*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t188.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
-  } =>#t188;
+        #t162.{core::List::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* void};
+  } =>#t162;
   core::Set<core::List<core::int*>*>* set71 = block {
-    final core::Set<core::List<core::int*>*>* #t189 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
+    final core::Set<core::List<core::int*>*>* #t163 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t189.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
-    #t189.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
-  } =>#t189;
+        #t163.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int*>(0)){(core::List<core::int*>*) →* core::bool*};
+    #t163.{core::Set::add}{Invariant}(null){(core::List<core::int*>*) →* core::bool*};
+  } =>#t163;
   core::Map<core::String*, core::List<core::int*>*>* map71 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t190 = <core::String*, core::List<core::int*>*>{};
+    final core::Map<core::String*, core::List<core::int*>*>* #t164 = <core::String*, core::List<core::int*>*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t190.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int*>(0)){(core::String*, core::List<core::int*>*) →* void};
-    #t190.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t190;
+        #t164.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int*>(0)){(core::String*, core::List<core::int*>*) →* void};
+    #t164.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::List<core::int*>*) →* void};
+  } =>#t164;
   core::List<core::num*>* list80 = block {
-    final core::List<core::num*>* #t191 = core::_GrowableList::•<core::num*>(0);
+    final core::List<core::num*>* #t165 = core::_GrowableList::•<core::num*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t191.{core::List::add}{Invariant}(42){(core::num*) →* void};
+        #t165.{core::List::add}{Invariant}(42){(core::num*) →* void};
       else
-        #t191.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
-  } =>#t191;
+        #t165.{core::List::add}{Invariant}(3.14){(core::num*) →* void};
+  } =>#t165;
   core::Set<core::num*>* set80 = block {
-    final core::Set<core::num*>* #t192 = new col::_CompactLinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t166 = new col::_CompactLinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t192.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
+        #t166.{core::Set::add}{Invariant}(42){(core::num*) →* core::bool*};
       else
-        #t192.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t192.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t192;
+        #t166.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t166.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t166;
   core::Map<core::String*, core::num*>* map80 = block {
-    final core::Map<core::String*, core::num*>* #t193 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t167 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t193.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
+        #t167.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::num*) →* void};
       else
-        #t193.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t193.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t193;
+        #t167.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t167.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t167;
   core::List<core::num*>* list81 = block {
-    final core::List<core::num*>* #t194 = core::_GrowableList::•<core::num*>(0);
+    final core::List<core::num*>* #t168 = core::_GrowableList::•<core::num*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t194.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t168.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t194.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t194;
+        #t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t168;
   core::Set<core::num*>* set81 = block {
-    final core::Set<core::num*>* #t195 = new col::_CompactLinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t169 = new col::_CompactLinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t195.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t195.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-    #t195.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t195;
+        #t169.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+    #t169.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t169;
   core::Map<core::String*, core::num*>* map81 = block {
-    final core::Map<core::String*, core::num*>* #t196 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t170 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::num*>* #t197 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
-          #t196.{core::Map::[]=}{Invariant}(#t197.{core::MapEntry::key}{core::String*}, #t197.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-        }
-      }
-      else {
-        core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::num*>* #t198 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
-          #t196.{core::Map::[]=}{Invariant}(#t198.{core::MapEntry::key}{core::String*}, #t198.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-        }
-      }
-    #t196.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t196;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t170.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String*, core::num*>*) →* void};
+      else
+        #t170.{core::Map::addAll}{Invariant}(mapStringDouble){(core::Map<core::String*, core::num*>*) →* void};
+    #t170.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t170;
   core::List<dynamic>* list82 = block {
-    final core::List<dynamic>* #t199 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t171 = core::_GrowableList::•<dynamic>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t199.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+        #t171.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
       else
-        #t199.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-  } =>#t199;
+        #t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+  } =>#t171;
   core::Set<dynamic>* set82 = block {
-    final core::Set<dynamic>* #t200 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t172 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t200.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
+        #t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>*) →* void};
       else
-        #t200.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
-    #t200.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t200;
+        #t172.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t172.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t172;
   core::Map<dynamic, dynamic>* map82 = block {
-    final core::Map<dynamic, dynamic>* #t201 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>* #t173 = <dynamic, dynamic>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, dynamic>* #t202 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-          #t201.{core::Map::[]=}{Invariant}(#t202.{core::MapEntry::key}{dynamic}, #t202.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-        }
-      }
-      else {
-        core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, dynamic>* #t203 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-          #t201.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}{dynamic}, #t203.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-        }
-      }
-    #t201.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) →* void};
-  } =>#t201;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t173.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<dynamic, dynamic>*) →* void};
+      else
+        #t173.{core::Map::addAll}{Invariant}(dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*){(core::Map<dynamic, dynamic>*) →* void};
+    #t173.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) →* void};
+  } =>#t173;
   core::List<core::num*>* list83 = block {
-    final core::List<core::num*>* #t204 = core::_GrowableList::•<core::num*>(0);
+    final core::List<core::num*>* #t174 = core::_GrowableList::•<core::num*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t204.{core::List::add}{Invariant}(42){(core::num*) →* void};
+        #t174.{core::List::add}{Invariant}(42){(core::num*) →* void};
       else
-        #t204.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
-  } =>#t204;
+        #t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num*>*) →* void};
+  } =>#t174;
   core::Set<core::num*>* set83 = block {
-    final core::Set<core::num*>* #t205 = new col::_CompactLinkedHashSet::•<core::num*>();
+    final core::Set<core::num*>* #t175 = new col::_CompactLinkedHashSet::•<core::num*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t205.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
+        #t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num*>*) →* void};
       else
-        #t205.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
-    #t205.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
-  } =>#t205;
+        #t175.{core::Set::add}{Invariant}(3.14){(core::num*) →* core::bool*};
+    #t175.{core::Set::add}{Invariant}(null){(core::num*) →* core::bool*};
+  } =>#t175;
   core::Map<core::String*, core::num*>* map83 = block {
-    final core::Map<core::String*, core::num*>* #t206 = <core::String*, core::num*>{};
+    final core::Map<core::String*, core::num*>* #t176 = <core::String*, core::num*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*) {
-        core::Iterator<core::MapEntry<core::String*, core::num*>>* :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::num*>>*};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String*, core::num*>* #t207 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::num*>};
-          #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}{core::String*}, #t207.{core::MapEntry::value}{core::num*}){(core::String*, core::num*) →* void};
-        }
-      }
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
+        #t176.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String*, core::num*>*) →* void};
       else
-        #t206.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
-    #t206.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
-  } =>#t206;
+        #t176.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String*, core::num*) →* void};
+    #t176.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::num*) →* void};
+  } =>#t176;
   core::List<core::int*>* list90 = block {
-    final core::List<core::int*>* #t208 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t177 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t208.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
-  } =>#t208;
+      #t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+  } =>#t177;
   core::Set<core::int*>* set90 = block {
-    final core::Set<core::int*>* #t209 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t178 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t209.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
-    #t209.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t209;
+      #t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+    #t178.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t178;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t210 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t179 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t210.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
-    #t210.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t210;
+      #t179.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t179;
   core::List<core::int*>* list91 = block {
-    final core::List<core::int*>* #t211 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t180 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t212 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t181 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int* #t213 = #t212 as{TypeError} core::int*;
-          #t211.{core::List::add}{Invariant}(#t213){(core::int*) →* void};
+          final core::int* #t182 = #t181 as{TypeError} core::int*;
+          #t180.{core::List::add}{Invariant}(#t182){(core::int*) →* void};
         }
       }
     }
-  } =>#t211;
+  } =>#t180;
   core::Set<core::int*>* set91 = block {
-    final core::Set<core::int*>* #t214 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t183 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t215 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t184 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int* #t216 = #t215 as{TypeError} core::int*;
-          #t214.{core::Set::add}{Invariant}(#t216){(core::int*) →* core::bool*};
+          final core::int* #t185 = #t184 as{TypeError} core::int*;
+          #t183.{core::Set::add}{Invariant}(#t185){(core::int*) →* core::bool*};
         }
       }
     }
-    #t214.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t214;
+    #t183.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t183;
   core::Map<core::String*, core::int*>* map91 = block {
-    final core::Map<core::String*, core::int*>* #t217 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t186 = <core::String*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
       core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t218 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
+        final core::MapEntry<dynamic, dynamic>* #t187 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
         {
-          final core::String* #t219 = #t218.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
-          final core::int* #t220 = #t218.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-          #t217.{core::Map::[]=}{Invariant}(#t219, #t220){(core::String*, core::int*) →* void};
+          final core::String* #t188 = #t187.{core::MapEntry::key}{dynamic} as{TypeError} core::String*;
+          final core::int* #t189 = #t187.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t186.{core::Map::[]=}{Invariant}(#t188, #t189){(core::String*, core::int*) →* void};
         }
       }
     }
-    #t217.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t217;
+    #t186.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t186;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t221 = core::_GrowableList::•<core::int*>(0);
-    for (final core::int* #t222 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t221.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t221;
+    final core::List<core::int*>* #t190 = core::_GrowableList::•<core::int*>(0);
+    for (final core::int* #t191 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t190.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t190;
   core::Set<core::int*>* set100 = block {
-    final core::Set<core::int*>* #t223 = new col::_CompactLinkedHashSet::•<core::int*>();
-    for (final core::int* #t224 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t223.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t223;
+    final core::Set<core::int*>* #t192 = new col::_CompactLinkedHashSet::•<core::int*>();
+    for (final core::int* #t193 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t192.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t192;
   core::Map<core::String*, core::int*>* map100 = block {
-    final core::Map<core::String*, core::int*>* #t225 = <core::String*, core::int*>{};
-    for (final core::int* #t226 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
-      #t225.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-  } =>#t225;
+    final core::Map<core::String*, core::int*>* #t194 = <core::String*, core::int*>{};
+    for (final core::int* #t195 = index = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; index = index.{core::num::+}(1){(core::num*) →* core::int*})
+      #t194.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+  } =>#t194;
   core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t227 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t196 = core::_GrowableList::•<core::int*>(0);
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        #t227.{core::List::add}{Invariant}(i){(core::int*) →* void};
+        #t196.{core::List::add}{Invariant}(i){(core::int*) →* void};
       }
     }
-  } =>#t227;
+  } =>#t196;
   core::Set<core::int*>* set110 = block {
-    final core::Set<core::int*>* #t228 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t197 = new col::_CompactLinkedHashSet::•<core::int*>();
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        #t228.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+        #t197.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
       }
     }
-    #t228.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t228;
+    #t197.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t197;
   core::Map<core::String*, core::int*>* map110 = block {
-    final core::Map<core::String*, core::int*>* #t229 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t198 = <core::String*, core::int*>{};
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal3<core::int*>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        #t229.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+        #t198.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
       }
     }
-    #t229.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t229;
+    #t198.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t198;
   core::List<core::int*>* list120 = block {
-    final core::List<core::int*>* #t230 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t199 = core::_GrowableList::•<core::int*>(0);
     {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t230.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
+        #t199.{core::List::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* void};
       }
     }
-  } =>#t230;
+  } =>#t199;
   core::Set<core::int*>* set120 = block {
-    final core::Set<core::int*>* #t231 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t200 = new col::_CompactLinkedHashSet::•<core::int*>();
     {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t231.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
+        #t200.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic} core::int*){(core::int*) →* core::bool*};
       }
     }
-    #t231.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t231;
+    #t200.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t200;
   core::Map<core::String*, core::int*>* map120 = block {
-    final core::Map<core::String*, core::int*>* #t232 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t201 = <core::String*, core::int*>{};
     {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t232.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
+        #t201.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic} core::int*){(core::String*, core::int*) →* void};
       }
     }
-    #t232.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t232;
+    #t201.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t201;
   core::List<core::int*>* list130 = block {
-    final core::List<core::int*>* #t233 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t202 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t233.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t233;
+      #t202.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t202;
   core::Set<core::int*>* set130 = block {
-    final core::Set<core::int*>* #t234 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t203 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t234.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-  } =>#t234;
+      #t203.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+  } =>#t203;
   core::Map<core::int*, core::int*>* map130 = block {
-    final core::Map<core::int*, core::int*>* #t235 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t204 = <core::int*, core::int*>{};
     for (core::int* i = 1; i.{core::num::<}(2){(core::num*) →* core::bool*}; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t235.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
-  } =>#t235;
+      #t204.{core::Map::[]=}{Invariant}(i, i){(core::int*, core::int*) →* void};
+  } =>#t204;
 }
 static method testForElementErrors(core::Map<core::int*, core::int*>* map, core::List<core::int*>* list) → dynamic async /* futureValueType= dynamic */ {
   block {
-    final core::List<core::int*>* #t236 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t205 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t236.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t205.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:212:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
                                             ^" in "bar" as{TypeError} core::int*){(core::int*) →* void};
-  } =>#t236;
+  } =>#t205;
   block {
-    final core::Set<core::int*>* #t237 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t206 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t237.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:213:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
                                             ^" in "bar" as{TypeError} core::int*){(core::int*) →* core::bool*};
-    #t237.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t237;
+    #t206.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t206;
   block {
-    final core::Map<core::int*, core::int*>* #t238 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t207 = <core::int*, core::int*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                  ^" in "bar" as{TypeError} core::int*, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                         ^" in "bar" as{TypeError} core::int*){(core::int*, core::int*) →* void};
-    #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:214:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                                ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
-  } =>#t238;
+  } =>#t207;
   block {
-    final core::List<core::int*>* #t239 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t208 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t239.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t208.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:215:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
                                                 ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
-  } =>#t239;
+  } =>#t208;
   block {
-    final core::Set<core::int*>* #t240 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t209 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t240.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t209.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:216:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
                                                 ^" in "bar" as{TypeError} core::int*)){(core::Iterable<core::int*>*) →* void};
-    #t240.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t240;
+    #t209.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t209;
   block {
-    final core::Map<core::int*, core::int*>* #t241 = <core::int*, core::int*>{};
-    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*}) {
-      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    final core::Map<core::int*, core::int*>* #t210 = <core::int*, core::int*>{};
+    for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
+      #t210.{core::Map::addAll}{Invariant}(<core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:54: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                      ^" in "bar" as{TypeError} core::int*: invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:61: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                            ^" in "bar" as{TypeError} core::int*}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int*, core::int*>* #t242 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
-        #t241.{core::Map::[]=}{Invariant}(#t242.{core::MapEntry::key}{core::int*}, #t242.{core::MapEntry::value}{core::int*}){(core::int*, core::int*) →* void};
-      }
-    }
-    #t241.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+                                                            ^" in "bar" as{TypeError} core::int*}){(core::Map<core::int*, core::int*>*) →* void};
+    #t210.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:217:69: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                                     ^" in "baz" as{TypeError} core::int*, null){(core::int*, core::int*) →* void};
-  } =>#t241;
+  } =>#t210;
   block {
-    final core::List<core::int*>* #t243 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t211 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t243.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t211.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:218:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
                                                ^"){(core::int*) →* void};
-  } =>#t243;
+  } =>#t211;
   block {
-    final core::Set<core::int*>* #t244 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t212 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
-      #t244.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:219:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
                                                ^"){(core::int*) →* core::bool*};
-    #t244.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t244;
+    #t212.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t212;
   <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:220:53: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
@@ -2027,66 +1867,66 @@
   <int, int>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
                                                     ^": null};
   block {
-    final core::List<core::String*>* #t245 = core::_GrowableList::•<core::String*>(0);
+    final core::List<core::String*>* #t213 = core::_GrowableList::•<core::String*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                              ^" in 42 as{TypeError} core::String*){(core::String*) →* void};
       else
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:221:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                                      ^" in 3.14 as{TypeError} core::String*){(core::String*) →* void};
-  } =>#t245;
+  } =>#t213;
   block {
-    final core::Set<core::String*>* #t246 = new col::_CompactLinkedHashSet::•<core::String*>();
+    final core::Set<core::String*>* #t214 = new col::_CompactLinkedHashSet::•<core::String*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                              ^" in 42 as{TypeError} core::String*){(core::String*) →* core::bool*};
       else
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:222:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                                      ^" in 3.14 as{TypeError} core::String*){(core::String*) →* core::bool*};
-    #t246.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
-  } =>#t246;
+    #t214.{core::Set::add}{Invariant}(null){(core::String*) →* core::bool*};
+  } =>#t214;
   block {
-    final core::Map<core::String*, core::String*>* #t247 = <core::String*, core::String*>{};
+    final core::Map<core::String*, core::String*>* #t215 = <core::String*, core::String*>{};
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:77: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                             ^" in 42 as{TypeError} core::String*){(core::String*, core::String*) →* void};
       else
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:223:92: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String, String>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                                            ^" in 3.14 as{TypeError} core::String*){(core::String*, core::String*) →* void};
-    #t247.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
-  } =>#t247;
+    #t215.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::String*) →* void};
+  } =>#t215;
   block {
-    final core::List<core::int*>* #t248 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t216 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t248.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t216.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:224:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
                                                              ^"){(core::int*) →* void};
       else
-        #t248.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t248;
+        #t216.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t216;
   block {
-    final core::Set<core::int*>* #t249 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t217 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t249.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:225:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
                                                              ^"){(core::int*) →* core::bool*};
       else
-        #t249.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t249.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t249;
+        #t217.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t217.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t217;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:226:70: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
@@ -2095,28 +1935,28 @@
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
                                                                      ^": null};
   block {
-    final core::List<core::int*>* #t250 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t218 = core::_GrowableList::•<core::int*>(0);
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t250.{core::List::add}{Invariant}(42){(core::int*) →* void};
+        #t218.{core::List::add}{Invariant}(42){(core::int*) →* void};
       else
-        #t250.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t218.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:227:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
                                                                      ^"){(core::int*) →* void};
-  } =>#t250;
+  } =>#t218;
   block {
-    final core::Set<core::int*>* #t251 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t219 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (core::int* i = 0; self::oracle<core::String*>("foo") as{TypeError,ForDynamic} core::bool*; i = i.{core::num::+}(1){(core::num*) →* core::int*})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic} core::bool*)
-        #t251.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+        #t219.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
       else
-        #t251.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t219.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:228:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
                                                                      ^"){(core::int*) →* core::bool*};
-    #t251.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t251;
+    #t219.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t219;
   <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:229:85: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
@@ -2126,54 +1966,54 @@
                                                                                     ^": null};
   final core::int* i = 0;
   block {
-    final core::List<core::int*>* #t252 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t220 = core::_GrowableList::•<core::int*>(0);
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::int* #t253 = :sync-for-iterator.{core::Iterator::current}{core::int*};
+        final core::int* #t221 = :sync-for-iterator.{core::Iterator::current}{core::int*};
         {
           invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:232:14: Error: Can't assign to the final variable 'i'.
   <int>[for (i in <int>[1]) i];
              ^";
-          #t252.{core::List::add}{Invariant}(i){(core::int*) →* void};
+          #t220.{core::List::add}{Invariant}(i){(core::int*) →* void};
         }
       }
     }
-  } =>#t252;
+  } =>#t220;
   block {
-    final core::Set<core::int*>* #t254 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t222 = new col::_CompactLinkedHashSet::•<core::int*>();
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::int* #t255 = :sync-for-iterator.{core::Iterator::current}{core::int*};
+        final core::int* #t223 = :sync-for-iterator.{core::Iterator::current}{core::int*};
         {
           invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:233:14: Error: Can't assign to the final variable 'i'.
   <int>{for (i in <int>[1]) i, null};
              ^";
-          #t254.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+          #t222.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
         }
       }
     }
-    #t254.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t254;
+    #t222.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t222;
   block {
-    final core::Map<core::String*, core::int*>* #t256 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t224 = <core::String*, core::int*>{};
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal1<core::int*>(1).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::int* #t257 = :sync-for-iterator.{core::Iterator::current}{core::int*};
+        final core::int* #t225 = :sync-for-iterator.{core::Iterator::current}{core::int*};
         {
           invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:234:21: Error: Can't assign to the final variable 'i'.
 \t<String, int>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
 \t                   ^";
-          #t256.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+          #t224.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
         }
       }
     }
-    #t256.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t256;
+    #t224.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t224;
   core::List<dynamic>* list10 = block {
-    final core::List<dynamic>* #t258 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t226 = core::_GrowableList::•<dynamic>(0);
     {
       core::Iterator<Never>* :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:236:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
@@ -2181,12 +2021,12 @@
                               ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*.{core::Iterable::iterator}{core::Iterator<Never>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{Never};
-        #t258.{core::List::add}{Invariant}(i){(dynamic) →* void};
+        #t226.{core::List::add}{Invariant}(i){(dynamic) →* void};
       }
     }
-  } =>#t258;
+  } =>#t226;
   core::Set<dynamic>* set10 = block {
-    final core::Set<dynamic>* #t259 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t227 = new col::_CompactLinkedHashSet::•<dynamic>();
     {
       core::Iterator<Never>* :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:237:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
@@ -2194,13 +2034,13 @@
                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*.{core::Iterable::iterator}{core::Iterator<Never>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{Never};
-        #t259.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
+        #t227.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
       }
     }
-    #t259.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t259;
+    #t227.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t227;
   core::Map<core::String*, dynamic>* map10 = block {
-    final core::Map<core::String*, dynamic>* #t260 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t228 = <core::String*, dynamic>{};
     {
       core::Iterator<Never>* :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:238:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
@@ -2208,13 +2048,13 @@
                              ^" in "not iterable" as{TypeError} core::Iterable<dynamic>*.{core::Iterable::iterator}{core::Iterator<Never>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{Never};
-        #t260.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
+        #t228.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
       }
     }
-    #t260.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t260;
+    #t228.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t228;
   core::List<core::int*>* list20 = block {
-    final core::List<core::int*>* #t261 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t229 = core::_GrowableList::•<core::int*>(0);
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:239:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
@@ -2223,12 +2063,12 @@
                                       ^" in "int" as{TypeError} core::int*).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        #t261.{core::List::add}{Invariant}(i){(core::int*) →* void};
+        #t229.{core::List::add}{Invariant}(i){(core::int*) →* void};
       }
     }
-  } =>#t261;
+  } =>#t229;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t262 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t230 = new col::_CompactLinkedHashSet::•<core::int*>();
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:240:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
@@ -2237,13 +2077,13 @@
                                      ^" in "int" as{TypeError} core::int*).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        #t262.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+        #t230.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
       }
     }
-    #t262.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t262;
+    #t230.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t230;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t263 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t231 = <core::String*, core::int*>{};
     {
       core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:241:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
@@ -2252,13 +2092,13 @@
                                      ^" in "int" as{TypeError} core::int*).{core::Iterable::iterator}{core::Iterator<core::int*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int* i = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        #t263.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+        #t231.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
       }
     }
-    #t263.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t263;
+    #t231.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t231;
   core::List<dynamic>* list30 = block {
-    final core::List<dynamic>* #t264 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic>* #t232 = core::_GrowableList::•<dynamic>(0);
     {
       Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:242:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
@@ -2266,17 +2106,17 @@
                                     ^" in "not stream" as{TypeError} asy::Stream<dynamic>*;
       asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
       try
-        while (let dynamic #t265 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t233 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
-          #t264.{core::List::add}{Invariant}(i){(dynamic) →* void};
+          #t232.{core::List::add}{Invariant}(i){(dynamic) →* void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-  } =>#t264;
+  } =>#t232;
   core::Set<dynamic>* set30 = block {
-    final core::Set<dynamic>* #t266 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic>* #t234 = new col::_CompactLinkedHashSet::•<dynamic>();
     {
       Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:243:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
@@ -2284,18 +2124,18 @@
                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*;
       asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
       try
-        while (let dynamic #t267 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t235 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
-          #t266.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
+          #t234.{core::Set::add}{Invariant}(i){(dynamic) →* core::bool*};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t266.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
-  } =>#t266;
+    #t234.{core::Set::add}{Invariant}(null){(dynamic) →* core::bool*};
+  } =>#t234;
   core::Map<core::String*, dynamic>* map30 = block {
-    final core::Map<core::String*, dynamic>* #t268 = <core::String*, dynamic>{};
+    final core::Map<core::String*, dynamic>* #t236 = <core::String*, dynamic>{};
     {
       Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:244:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
@@ -2303,18 +2143,18 @@
                                    ^" in "not stream" as{TypeError} asy::Stream<dynamic>*;
       asy::_StreamIterator<dynamic>* :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
       try
-        while (let dynamic #t269 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t237 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
-          #t268.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
+          #t236.{core::Map::[]=}{Invariant}("bar", i){(core::String*, dynamic) →* void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t268.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
-  } =>#t268;
+    #t236.{core::Map::[]=}{Invariant}("baz", null){(core::String*, dynamic) →* void};
+  } =>#t236;
   core::List<core::int*>* list40 = block {
-    final core::List<core::int*>* #t270 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t238 = core::_GrowableList::•<core::int*>(0);
     {
       asy::Stream<core::int*> :stream = asy::Stream::fromIterable<core::int*>(core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:245:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
@@ -2323,17 +2163,17 @@
                                                                 ^" in "int" as{TypeError} core::int*));
       asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(:stream);
       try
-        while (let dynamic #t271 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t239 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
-          #t270.{core::List::add}{Invariant}(i){(core::int*) →* void};
+          #t238.{core::List::add}{Invariant}(i){(core::int*) →* void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-  } =>#t270;
+  } =>#t238;
   core::Set<core::int*>* set40 = block {
-    final core::Set<core::int*>* #t272 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t240 = new col::_CompactLinkedHashSet::•<core::int*>();
     {
       asy::Stream<core::int*> :stream = asy::Stream::fromIterable<core::int*>(core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:246:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
@@ -2342,18 +2182,18 @@
                                                                ^" in "int" as{TypeError} core::int*));
       asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(:stream);
       try
-        while (let dynamic #t273 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t241 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
-          #t272.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+          #t240.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t272.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t272;
+    #t240.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t240;
   core::Map<core::String*, core::int*>* map40 = block {
-    final core::Map<core::String*, core::int*>* #t274 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t242 = <core::String*, core::int*>{};
     {
       asy::Stream<core::int*> :stream = asy::Stream::fromIterable<core::int*>(core::_GrowableList::_literal2<core::int*>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:247:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
@@ -2362,90 +2202,90 @@
                                                                ^" in "int" as{TypeError} core::int*));
       asy::_StreamIterator<core::int*>* :for-iterator = new asy::_StreamIterator::•<core::int*>(:stream);
       try
-        while (let dynamic #t275 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t243 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           core::int* i = :for-iterator.{asy::_StreamIterator::current}{core::int*};
-          #t274.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+          #t242.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int*>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t274.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t274;
+    #t242.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t242;
   core::List<core::int*>* list50 = block {
-    final core::List<core::int*>* #t276 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t244 = core::_GrowableList::•<core::int*>(0);
     for (; ; )
-      #t276.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t276;
+      #t244.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t244;
   core::Set<core::int*>* set50 = block {
-    final core::Set<core::int*>* #t277 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t245 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (; ; )
-      #t277.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t277.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t277;
+      #t245.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t245.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t245;
   core::Map<core::String*, core::int*>* map50 = block {
-    final core::Map<core::String*, core::int*>* #t278 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t246 = <core::String*, core::int*>{};
     for (; ; )
-      #t278.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t278.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t278;
+      #t246.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t246.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t246;
   core::List<core::int*>* list60 = block {
-    final core::List<core::int*>* #t279 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t247 = core::_GrowableList::•<core::int*>(0);
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:251:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var list60 = [for (; \"not bool\";) 42];
                        ^" in "not bool" as{TypeError} core::bool*; )
-      #t279.{core::List::add}{Invariant}(42){(core::int*) →* void};
-  } =>#t279;
+      #t247.{core::List::add}{Invariant}(42){(core::int*) →* void};
+  } =>#t247;
   core::Set<core::int*>* set60 = block {
-    final core::Set<core::int*>* #t280 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t248 = new col::_CompactLinkedHashSet::•<core::int*>();
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:252:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var set60 = {for (; \"not bool\";) 42, null};
                       ^" in "not bool" as{TypeError} core::bool*; )
-      #t280.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-    #t280.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
-  } =>#t280;
+      #t248.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+    #t248.{core::Set::add}{Invariant}(null){(core::int*) →* core::bool*};
+  } =>#t248;
   core::Map<core::String*, core::int*>* map60 = block {
-    final core::Map<core::String*, core::int*>* #t281 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t249 = <core::String*, core::int*>{};
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference.dart:253:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
                       ^" in "not bool" as{TypeError} core::bool*; )
-      #t281.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
-    #t281.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
-  } =>#t281;
+      #t249.{core::Map::[]=}{Invariant}("bar", 42){(core::String*, core::int*) →* void};
+    #t249.{core::Map::[]=}{Invariant}("baz", null){(core::String*, core::int*) →* void};
+  } =>#t249;
 }
 static method testForElementErrorsNotAsync(asy::Stream<core::int*>* stream) → dynamic {
   block {
-    final core::List<core::int*>* #t282 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t250 = core::_GrowableList::•<core::int*>(0);
     await for (core::int* i in stream)
-      #t282.{core::List::add}{Invariant}(i){(core::int*) →* void};
-  } =>#t282;
+      #t250.{core::List::add}{Invariant}(i){(core::int*) →* void};
+  } =>#t250;
   block {
-    final core::Set<core::int*>* #t283 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t251 = new col::_CompactLinkedHashSet::•<core::int*>();
     await for (core::int* i in stream)
-      #t283.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
-  } =>#t283;
+      #t251.{core::Set::add}{Invariant}(i){(core::int*) →* core::bool*};
+  } =>#t251;
   block {
-    final core::Map<core::String*, core::int*>* #t284 = <core::String*, core::int*>{};
+    final core::Map<core::String*, core::int*>* #t252 = <core::String*, core::int*>{};
     await for (core::int* i in stream)
-      #t284.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
-  } =>#t284;
+      #t252.{core::Map::[]=}{Invariant}("bar", i){(core::String*, core::int*) →* void};
+  } =>#t252;
 }
 static method testPromotion(self::A* a) → dynamic {
   core::List<core::int*>* list10 = block {
-    final core::List<core::int*>* #t285 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t253 = core::_GrowableList::•<core::int*>(0);
     if(a is self::B*)
-      #t285.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
-  } =>#t285;
+      #t253.{core::List::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* void};
+  } =>#t253;
   core::Set<core::int*>* set10 = block {
-    final core::Set<core::int*>* #t286 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Set<core::int*>* #t254 = new col::_CompactLinkedHashSet::•<core::int*>();
     if(a is self::B*)
-      #t286.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
-  } =>#t286;
+      #t254.{core::Set::add}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}){(core::int*) →* core::bool*};
+  } =>#t254;
   core::Map<core::int*, core::int*>* map10 = block {
-    final core::Map<core::int*, core::int*>* #t287 = <core::int*, core::int*>{};
+    final core::Map<core::int*, core::int*>* #t255 = <core::int*, core::int*>{};
     if(a is self::B*)
-      #t287.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
-  } =>#t287;
+      #t255.{core::Map::[]=}{Invariant}(a{self::B*}.{self::B::foo}{core::int*}, a{self::B*}.{self::B::foo}{core::int*}){(core::int*, core::int*) →* void};
+  } =>#t255;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.expect b/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.expect
index 8e550b8..8fb5c78 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.expect
@@ -506,501 +506,486 @@
   core::Map<core::String, core::int?> map20 = block {
     final core::Map<core::String, core::int?> #t12 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t13 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
+      #t12.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
     #t12.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
   } =>#t12;
   core::List<dynamic> list21 = block {
-    final core::List<dynamic> #t14 = <dynamic>[];
+    final core::List<dynamic> #t13 = <dynamic>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t14.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t14;
+      #t13.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t13;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t15 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t14 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t15.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t15.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t15;
+      #t14.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t14.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t14;
   core::Map<core::String, dynamic> map21 = block {
-    final core::Map<core::String, dynamic> #t16 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t15 = <core::String, dynamic>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t17 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{core::String}, #t17.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t16.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t16;
+      #t15.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t15.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t15;
   core::List<core::List<core::int>> list22 = block {
-    final core::List<core::List<core::int>> #t18 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t16 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t18.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t18;
+      #t16.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t16;
   core::Set<core::List<core::int>?> set22 = block {
-    final core::Set<core::List<core::int>?> #t19 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t17 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t19.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t19.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t19;
+      #t17.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t17.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t17;
   core::Map<core::String, core::List<core::int>?> map22 = block {
-    final core::Map<core::String, core::List<core::int>?> #t20 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t18 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t21 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::String}, #t21.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t20.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t20;
+      #t18.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t18.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t18;
   core::List<core::int> list30 = block {
-    final core::List<core::int> #t22 = <core::int>[];
+    final core::List<core::int> #t19 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t22.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
-  } =>#t22;
+        #t19.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
+  } =>#t19;
   core::Set<core::int?> set30 = block {
-    final core::Set<core::int?> #t23 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t20 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t23.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
-    #t23.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t23;
+        #t20.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
+    #t20.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t20;
   core::Map<core::String, core::int?> map30 = block {
-    final core::Map<core::String, core::int?> #t24 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t21 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t25 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-          #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}{core::String}, #t25.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t24;
+        #t21.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t21.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t21;
   core::List<dynamic> list31 = block {
-    final core::List<dynamic> #t26 = <dynamic>[];
+    final core::List<dynamic> #t22 = <dynamic>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t26.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t26;
+        #t22.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t22;
   core::Set<dynamic> set31 = block {
-    final core::Set<dynamic> #t27 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t23 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t27.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t27.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t27;
+        #t23.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t23.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t23;
   core::Map<core::String, dynamic> map31 = block {
-    final core::Map<core::String, dynamic> #t28 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t24 = <core::String, dynamic>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t29 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-          #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}{core::String}, #t29.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t28.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t28;
+        #t24.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t24;
   core::List<core::List<core::int>> list33 = block {
-    final core::List<core::List<core::int>> #t30 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t25 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t30.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t30;
+        #t25.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t25;
   core::Set<core::List<core::int>?> set33 = block {
-    final core::Set<core::List<core::int>?> #t31 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t26 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t31.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t31.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t31;
+        #t26.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t26.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t26;
   core::Map<core::String, core::List<core::int>?> map33 = block {
-    final core::Map<core::String, core::List<core::int>?> #t32 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t27 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t33 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t32.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t32;
+        #t27.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t27.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t27;
   core::List<core::List<core::int>> list40 = block {
-    final core::List<core::List<core::int>> #t34 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t28 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t34.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t34;
+      #t28.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t28;
   core::Set<core::List<core::int>?> set40 = block {
-    final core::Set<core::List<core::int>?> #t35 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t29 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t35.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t35;
+      #t29.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t29.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t29;
   core::Map<core::String, core::List<core::int>?> map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:39:35: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   Map<String, List<int>?> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
                                   ^";
   core::List<core::List<core::int>> list41 = block {
-    final core::List<core::List<core::int>> #t36 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t30 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t36.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>> #t37 = col::LinkedHashSet::•<core::List<core::int>>();
-        #t37.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
-      } =>#t37){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t36;
+      #t30.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>> #t31 = col::LinkedHashSet::•<core::List<core::int>>();
+        #t31.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
+      } =>#t31){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t30;
   core::Set<core::List<core::int>?> set41 = block {
-    final core::Set<core::List<core::int>?> #t38 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t32 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t38.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>?> #t39 = col::LinkedHashSet::•<core::List<core::int>?>();
-        #t39.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-      } =>#t39){(core::Iterable<core::List<core::int>?>) → void};
-    #t38.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t38;
+      #t32.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>?> #t33 = col::LinkedHashSet::•<core::List<core::int>?>();
+        #t33.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+      } =>#t33){(core::Iterable<core::List<core::int>?>) → void};
+    #t32.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t32;
   core::List<core::List<core::int>> list42 = block {
-    final core::List<core::List<core::int>> #t40 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t34 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t40.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t40;
+        #t34.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t34;
   core::Set<core::List<core::int>?> set42 = block {
-    final core::Set<core::List<core::int>?> #t41 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t35 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t41.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t41.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t41;
+        #t35.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t35;
   core::Map<core::String, core::List<core::int>?> map42 = block {
-    final core::Map<core::String, core::List<core::int>?> #t42 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t36 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t43 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}{core::String}, #t43.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t42.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t42;
+        #t36.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t36.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t36;
   core::List<core::int> list50 = block {
+    final core::List<core::int> #t37 = <core::int>[];
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t37.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+  } =>#t37;
+  core::Set<core::int?> set50 = block {
+    final core::Set<core::int?> #t38 = col::LinkedHashSet::•<core::int?>();
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t38.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+    #t38.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t38;
+  core::Map<core::String, core::int?> map50 = block {
+    final core::Map<core::String, core::int?> #t39 = <core::String, core::int?>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t39.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
+    #t39.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t39;
+  core::List<core::int> list51 = block {
+    final core::List<core::int> #t40 = <core::int>[];
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t40.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int> #t41 = col::LinkedHashSet::•<core::int>();
+      } =>#t41){(core::Iterable<core::int>) → void};
+  } =>#t40;
+  core::Set<core::int?> set51 = block {
+    final core::Set<core::int?> #t42 = col::LinkedHashSet::•<core::int?>();
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t42.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int?> #t43 = col::LinkedHashSet::•<core::int?>();
+      } =>#t43){(core::Iterable<core::int?>) → void};
+    #t42.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t42;
+  core::List<core::int> list52 = block {
     final core::List<core::int> #t44 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t44.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t44.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
   } =>#t44;
-  core::Set<core::int?> set50 = block {
+  core::Set<core::int?> set52 = block {
     final core::Set<core::int?> #t45 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t45.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t45.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
     #t45.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
   } =>#t45;
-  core::Map<core::String, core::int?> map50 = block {
+  core::Map<core::String, core::int?> map52 = block {
     final core::Map<core::String, core::int?> #t46 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t47 in <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}{core::String}, #t47.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t46.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
     #t46.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
   } =>#t46;
-  core::List<core::int> list51 = block {
-    final core::List<core::int> #t48 = <core::int>[];
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t48.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
-      } =>#t49){(core::Iterable<core::int>) → void};
-  } =>#t48;
-  core::Set<core::int?> set51 = block {
-    final core::Set<core::int?> #t50 = col::LinkedHashSet::•<core::int?>();
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t50.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int?> #t51 = col::LinkedHashSet::•<core::int?>();
-      } =>#t51){(core::Iterable<core::int?>) → void};
-    #t50.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t50;
-  core::List<core::int> list52 = block {
-    final core::List<core::int> #t52 = <core::int>[];
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t52.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
-  } =>#t52;
-  core::Set<core::int?> set52 = block {
-    final core::Set<core::int?> #t53 = col::LinkedHashSet::•<core::int?>();
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t53.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
-    #t53.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t53;
-  core::Map<core::String, core::int?> map52 = block {
-    final core::Map<core::String, core::int?> #t54 = <core::String, core::int?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t55 in <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-          #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::String}, #t55.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t54.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t54;
   core::List<core::List<core::int>> list60 = block {
-    final core::List<core::List<core::int>> #t56 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t47 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t56.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t56;
+      #t47.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t47;
   core::Set<core::List<core::int>?> set60 = block {
-    final core::Set<core::List<core::int>?> #t57 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t48 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t57.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t57.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t57;
+      #t48.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t48.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t48;
   core::Map<core::String, core::List<core::int>?> map60 = block {
-    final core::Map<core::String, core::List<core::int>?> #t58 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t49 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t59 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}{core::String}, #t59.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t58.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t58;
+      #t49.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t49.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t49;
   core::List<core::List<core::int>> list61 = block {
-    final core::List<core::List<core::int>> #t60 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t50 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t60.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t60;
+        #t50.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t50;
   core::Set<core::List<core::int>?> set61 = block {
-    final core::Set<core::List<core::int>?> #t61 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t51 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t61.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t61.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t61;
+        #t51.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t51.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t51;
   core::Map<core::String, core::List<core::int>?> map61 = block {
-    final core::Map<core::String, core::List<core::int>?> #t62 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t52 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t63 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}{core::String}, #t63.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t62;
+        #t52.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t52.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t52;
   core::List<core::List<core::int>> list70 = block {
-    final core::List<core::List<core::int>> #t64 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t53 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t64.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t64;
+      #t53.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
+  } =>#t53;
   core::Set<core::List<core::int>?> set70 = block {
-    final core::Set<core::List<core::int>?> #t65 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t54 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t65.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t65.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t65;
+      #t54.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t54.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t54;
   core::List<core::List<core::int>> list71 = block {
-    final core::List<core::List<core::int>> #t66 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t55 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t66.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t66;
+        #t55.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
+  } =>#t55;
   core::Set<core::List<core::int>?> set71 = block {
-    final core::Set<core::List<core::int>?> #t67 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t56 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t67.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t67.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t67;
+        #t56.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t56.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t56;
   core::List<core::num> list80 = block {
-    final core::List<core::num> #t68 = <core::num>[];
+    final core::List<core::num> #t57 = <core::num>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t68.{core::List::add}{Invariant}(42){(core::num) → void};
+      #t57.{core::List::add}{Invariant}(42){(core::num) → void};
     else
-      #t68.{core::List::add}{Invariant}(3.14){(core::num) → void};
-  } =>#t68;
+      #t57.{core::List::add}{Invariant}(3.14){(core::num) → void};
+  } =>#t57;
   core::Set<core::num?> set80 = block {
-    final core::Set<core::num?> #t69 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t58 = col::LinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t69.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
+      #t58.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
     else
-      #t69.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t69.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t69;
+      #t58.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t58.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t58;
   core::Map<core::String, core::num?> map80 = block {
-    final core::Map<core::String, core::num?> #t70 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t59 = <core::String, core::num?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t70.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
+      #t59.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
     else
-      #t70.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t70.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t70;
+      #t59.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t59.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t59;
   core::List<core::num> list81 = block {
-    final core::List<core::num> #t71 = <core::num>[];
+    final core::List<core::num> #t60 = <core::num>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t71.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
+      #t60.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
     else
-      #t71.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t71;
+      #t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t60;
   core::Set<core::num?> set81 = block {
-    final core::Set<core::num?> #t72 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t61 = col::LinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t72.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+      #t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
     else
-      #t72.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
-    #t72.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t72;
+      #t61.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
+    #t61.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t61;
   core::Map<core::String, core::num?> map81 = block {
-    final core::Map<core::String, core::num?> #t73 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t62 = <core::String, core::num?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t74 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-        #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}{core::String}, #t74.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+      #t62.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String, core::num?>) → void};
     else
-      for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t75 in mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-        #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}{core::String}, #t75.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-    #t73.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t73;
+      #t62.{core::Map::addAll}{Invariant}(mapToDouble){(core::Map<core::String, core::num?>) → void};
+    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t62;
   core::List<dynamic> list82 = block {
-    final core::List<dynamic> #t76 = <dynamic>[];
+    final core::List<dynamic> #t63 = <dynamic>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t76.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+      #t63.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
     else
-      #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-  } =>#t76;
+      #t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+  } =>#t63;
   core::Set<dynamic> set82 = block {
-    final core::Set<dynamic> #t77 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t64 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t77.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+      #t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
     else
-      #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t77.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t77;
+      #t64.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t64.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t64;
   core::Set<dynamic> map82 = block {
-    final core::Set<dynamic> #t78 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t65 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
                                      ^"){(dynamic) → core::bool};
     else
-      #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t78.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t78;
+      #t65.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t65.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t65;
   core::List<core::num> list83 = block {
-    final core::List<core::num> #t79 = <core::num>[];
+    final core::List<core::num> #t66 = <core::num>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t79.{core::List::add}{Invariant}(42){(core::num) → void};
+      #t66.{core::List::add}{Invariant}(42){(core::num) → void};
     else
-      #t79.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t79;
+      #t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t66;
   core::Set<core::num?> set83 = block {
-    final core::Set<core::num?> #t80 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t67 = col::LinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t80.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+      #t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
     else
-      #t80.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t80.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t80;
+      #t67.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t67.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t67;
   core::Map<core::String, core::num?> map83 = block {
-    final core::Map<core::String, core::num?> #t81 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t68 = <core::String, core::num?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t82 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-        #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}{core::String}, #t82.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+      #t68.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String, core::num?>) → void};
     else
-      #t81.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t81.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t81;
+      #t68.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t68.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t68;
   core::List<core::int> list90 = block {
-    final core::List<core::int> #t83 = <core::int>[];
+    final core::List<core::int> #t69 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t83;
+      #t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t69;
   core::Set<core::int?> set90 = block {
-    final core::Set<core::int?> #t84 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t70 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t84.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t84;
+      #t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t70.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t70;
   core::Map<core::String, core::int?> map90 = block {
-    final core::Map<core::String, core::int?> #t85 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t71 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t85.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t85;
+      #t71.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t71.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t71;
   core::List<core::int> list91 = block {
-    final core::List<core::int> #t86 = <core::int>[];
+    final core::List<core::int> #t72 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer dynamic #t87 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int #t88 = #t87 as{TypeError,ForNonNullableByDefault} core::int;
-        #t86.{core::List::add}{Invariant}(#t88){(core::int) → void};
+      for (final has-declared-initializer dynamic #t73 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
+        #t72.{core::List::add}{Invariant}(#t74){(core::int) → void};
       }
-  } =>#t86;
+  } =>#t72;
   core::Set<core::int?> set91 = block {
-    final core::Set<core::int?> #t89 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t75 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer dynamic #t90 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int? #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int?;
-        #t89.{core::Set::add}{Invariant}(#t91){(core::int?) → core::bool};
+      for (final has-declared-initializer dynamic #t76 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int? #t77 = #t76 as{TypeError,ForNonNullableByDefault} core::int?;
+        #t75.{core::Set::add}{Invariant}(#t77){(core::int?) → core::bool};
       }
-    #t89.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t89;
+    #t75.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t75;
   core::Map<core::String, core::int?> map91 = block {
-    final core::Map<core::String, core::int?> #t92 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t78 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t93 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
-        final core::String #t94 = #t93.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
-        final core::int? #t95 = #t93.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-        #t92.{core::Map::[]=}{Invariant}(#t94, #t95){(core::String, core::int?) → void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t79 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
+        final core::String #t80 = #t79.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
+        final core::int? #t81 = #t79.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+        #t78.{core::Map::[]=}{Invariant}(#t80, #t81){(core::String, core::int?) → void};
       }
-    #t92.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t92;
+    #t78.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t78;
   core::List<core::int> list100 = block {
-    final core::List<core::int> #t96 = <core::int>[];
+    final core::List<core::int> #t82 = <core::int>[];
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t96.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t96;
+      #t82.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t82;
   core::Set<core::int> set100 = block {
-    final core::Set<core::int> #t97 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t83 = col::LinkedHashSet::•<core::int>();
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t97.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t97;
+      #t83.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t83;
   core::Map<core::int, core::int> map100 = block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t84 = <core::int, core::int>{};
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t98.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
-  } =>#t98;
+      #t84.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
+  } =>#t84;
 }
 static method testIfElementErrors(core::Map<core::int, core::int> map) → dynamic {
   block {
-    final core::List<core::int> #t99 = <core::int>[];
+    final core::List<core::int> #t85 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t99.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t85.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) \"bar\"];
                            ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t99;
+  } =>#t85;
   block {
-    final core::Set<core::int?> #t100 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t86 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t100.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:88:29: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:88:29: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{if (oracle(\"foo\")) \"bar\", null};
                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t100.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t100;
+    #t86.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t86;
   block {
-    final core::Map<core::String, core::int?> #t101 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t87 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t101.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:89:44: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t87.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:89:44: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <String, int?>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
                                            ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t101.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t101;
+    #t87.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t87;
   block {
-    final core::List<core::int> #t102 = <core::int>[];
+    final core::List<core::int> #t88 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t102.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t88.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) ...[\"bar\"]];
                                ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int]){(core::Iterable<core::int>) → void};
-  } =>#t102;
+  } =>#t88;
   block {
-    final core::Set<core::int?> #t103 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t89 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t103.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:91:33: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t89.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:91:33: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{if (oracle(\"foo\")) ...[\"bar\"], null};
                                 ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?]){(core::Iterable<core::int?>) → void};
-    #t103.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t103;
+    #t89.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t89;
   block {
-    final core::Map<core::String, core::int?> #t104 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t90 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t105 in <core::String, core::int?>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:92:48: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t90.{core::Map::addAll}{Invariant}(<core::String, core::int?>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:92:48: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <String, int?>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                               ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t104.{core::Map::[]=}{Invariant}(#t105.{core::MapEntry::key}{core::String}, #t105.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t104.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t104;
+                                               ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}){(core::Map<core::String, core::int?>) → void};
+    #t90.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t90;
   block {
-    final core::List<core::int> #t106 = <core::int>[];
+    final core::List<core::int> #t91 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t106.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t91.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map];
                               ^"){(core::int) → void};
-  } =>#t106;
+  } =>#t91;
   block {
-    final core::Set<core::int?> #t107 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t92 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t107.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:94:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:94:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map, null};
                                ^"){(core::int?) → core::bool};
-    #t107.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t107;
+    #t92.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t92;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:95:40: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
@@ -1009,61 +994,61 @@
   <String, int?>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
                                        ^": null};
   block {
-    final core::List<core::String> #t108 = <core::String>[];
+    final core::List<core::String> #t93 = <core::String>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
     else
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                                       ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t108;
+  } =>#t93;
   block {
-    final core::Set<core::String?> #t109 = col::LinkedHashSet::•<core::String?>();
+    final core::Set<core::String?> #t94 = col::LinkedHashSet::•<core::String?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:32: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:32: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String?>{if (oracle(\"foo\")) 42 else 3.14, null};
                                ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
     else
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:40: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:40: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String?>{if (oracle(\"foo\")) 42 else 3.14, null};
                                        ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
-    #t109.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
-  } =>#t109;
+    #t94.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
+  } =>#t94;
   block {
-    final core::Map<core::String, core::String?> #t110 = <core::String, core::String?>{};
+    final core::Map<core::String, core::String?> #t95 = <core::String, core::String?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t110.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:47: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+      #t95.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:47: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String, String?>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
     else
-      #t110.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:62: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+      #t95.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:62: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String, String?>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                                              ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
-    #t110.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
-  } =>#t110;
+    #t95.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
+  } =>#t95;
   block {
-    final core::List<core::int> #t111 = <core::int>[];
+    final core::List<core::int> #t96 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t111.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t96.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map else 42];
                               ^"){(core::int) → void};
     else
-      #t111.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t111;
+      #t96.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t96;
   block {
-    final core::Set<core::int?> #t112 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t97 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t112.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:100:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:100:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map else 42, null};
                                ^"){(core::int?) → core::bool};
     else
-      #t112.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t112.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t112;
+      #t97.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t97.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t97;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:101:40: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
@@ -1072,26 +1057,26 @@
   <String, int?>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
                                        ^": null};
   block {
-    final core::List<core::int> #t113 = <core::int>[];
+    final core::List<core::int> #t98 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t113.{core::List::add}{Invariant}(42){(core::int) → void};
+      #t98.{core::List::add}{Invariant}(42){(core::int) → void};
     else
-      #t113.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t98.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) 42 else ...map];
                                       ^"){(core::int) → void};
-  } =>#t113;
+  } =>#t98;
   block {
-    final core::Set<core::int?> #t114 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t99 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:103:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:103:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map else 42, null};
                                ^"){(core::int?) → core::bool};
     else
-      #t114.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t114.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t114;
+      #t99.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t99.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t99;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:104:55: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
@@ -1118,709 +1103,692 @@
   var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                    ^": null};
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t115 = <core::int>[];
+    final core::List<core::int> #t100 = <core::int>[];
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   List<int> list20 = [if (42) 42];
                           ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t115.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t115;
+      #t100.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t100;
   core::Set<core::int> set20 = block {
-    final core::Set<core::int> #t116 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t101 = col::LinkedHashSet::•<core::int>();
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Set<int> set20 = {if (42) 42};
                         ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t116.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t116;
+      #t101.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t101;
   core::Map<core::int, core::int> map30 = block {
-    final core::Map<core::int, core::int> #t117 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t102 = <core::int, core::int>{};
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Map<int, int> map30 = {if (42) 42: 42};
                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t117.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
-  } =>#t117;
+      #t102.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
+  } =>#t102;
   core::List<core::String> list40 = block {
-    final core::List<core::String> #t118 = <core::String>[];
+    final core::List<core::String> #t103 = <core::String>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                     ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
     else
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t118;
+  } =>#t103;
   core::Set<core::String> set40 = block {
-    final core::Set<core::String> #t119 = col::LinkedHashSet::•<core::String>();
+    final core::Set<core::String> #t104 = col::LinkedHashSet::•<core::String>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                   ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::String) → core::bool};
     else
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                             ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → core::bool};
-  } =>#t119;
+  } =>#t104;
   core::Map<core::String, core::int> map40 = block {
-    final core::Map<core::String, core::int> #t120 = <core::String, core::int>{};
+    final core::Map<core::String, core::int> #t105 = <core::String, core::int>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                             ^" in true as{TypeError,ForNonNullableByDefault} core::String, 42){(core::String, core::int) → void};
     else
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                                           ^" in 42 as{TypeError,ForNonNullableByDefault} core::String, 42){(core::String, core::int) → void};
-  } =>#t120;
+  } =>#t105;
   core::Map<core::int, core::String> map41 = block {
-    final core::Map<core::int, core::String> #t121 = <core::int, core::String>{};
+    final core::Map<core::int, core::String> #t106 = <core::int, core::String>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                 ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::int, core::String) → void};
     else
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::int, core::String) → void};
-  } =>#t121;
+  } =>#t106;
 }
 static method testForElement(dynamic dynVar, core::List<core::int> listInt, core::List<core::double> listDouble, core::int index, core::Map<core::String, core::int> mapStringInt, core::Map<core::String, core::double> mapStringDouble) → dynamic {
   core::List<core::int> list10 = block {
-    final core::List<core::int> #t122 = <core::int>[];
+    final core::List<core::int> #t107 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t122.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t122;
+      #t107.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t107;
   core::Set<core::int?> set10 = block {
-    final core::Set<core::int?> #t123 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t108 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t123.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t123.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t123;
+      #t108.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t108.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t108;
   core::Map<core::String, core::int?> map10 = block {
-    final core::Map<core::String, core::int?> #t124 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t109 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t124.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t124;
+      #t109.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t109.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t109;
   core::List<dynamic> list11 = block {
-    final core::List<dynamic> #t125 = <dynamic>[];
+    final core::List<dynamic> #t110 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t125.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
-  } =>#t125;
+      #t110.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
+  } =>#t110;
   core::Set<dynamic> set11 = block {
-    final core::Set<dynamic> #t126 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t111 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t126.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
-    #t126.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t126;
+      #t111.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
+    #t111.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t111;
   core::Map<core::String, dynamic> map11 = block {
-    final core::Map<core::String, dynamic> #t127 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t112 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t127.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String, dynamic) → void};
-    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t127;
+      #t112.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String, dynamic) → void};
+    #t112.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t112;
   core::List<core::List<core::int>> list12 = block {
-    final core::List<core::List<core::int>> #t128 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t113 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t128.{core::List::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → void};
-  } =>#t128;
+      #t113.{core::List::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → void};
+  } =>#t113;
   core::Set<core::List<core::int>?> set12 = block {
-    final core::Set<core::List<core::int>?> #t129 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t114 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t129.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>?) → core::bool};
-    #t129.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t129;
+      #t114.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>?) → core::bool};
+    #t114.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t114;
   core::Map<core::String, core::List<core::int>?> map12 = block {
-    final core::Map<core::String, core::List<core::int>?> #t130 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t115 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t130.{core::Map::[]=}{Invariant}("bar", <core::int>[42]){(core::String, core::List<core::int>?) → void};
-    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t130;
+      #t115.{core::Map::[]=}{Invariant}("bar", <core::int>[42]){(core::String, core::List<core::int>?) → void};
+    #t115.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t115;
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t131 = <core::int>[];
+    final core::List<core::int> #t116 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t131.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
-  } =>#t131;
+      #t116.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
+  } =>#t116;
   core::Set<core::int?> set20 = block {
-    final core::Set<core::int?> #t132 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t117 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t132.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
-    #t132.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t132;
+      #t117.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
+    #t117.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t117;
   core::Map<core::String, core::int?> map20 = block {
-    final core::Map<core::String, core::int?> #t133 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t118 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t134 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t133.{core::Map::[]=}{Invariant}(#t134.{core::MapEntry::key}{core::String}, #t134.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t133;
+      #t118.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t118.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t118;
   core::List<dynamic> list21 = block {
-    final core::List<dynamic> #t135 = <dynamic>[];
+    final core::List<dynamic> #t119 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t135.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t135;
+      #t119.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t119;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t136 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t120 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t136.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t136.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t136;
+      #t120.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t120.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t120;
   core::Map<core::String, dynamic> map21 = block {
-    final core::Map<core::String, dynamic> #t137 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t121 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t138 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-        #t137.{core::Map::[]=}{Invariant}(#t138.{core::MapEntry::key}{core::String}, #t138.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t137.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t137;
+      #t121.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t121.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t121;
   core::List<core::List<core::int>> list22 = block {
-    final core::List<core::List<core::int>> #t139 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t122 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t139.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t139;
+      #t122.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t122;
   core::Set<core::List<core::int>?> set22 = block {
-    final core::Set<core::List<core::int>?> #t140 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t123 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t140.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t140;
+      #t123.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t123.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t123;
   core::Map<core::String, core::List<core::int>?> map22 = block {
-    final core::Map<core::String, core::List<core::int>?> #t141 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t124 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t142 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t141.{core::Map::[]=}{Invariant}(#t142.{core::MapEntry::key}{core::String}, #t142.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t141.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t141;
+      #t124.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t124;
   core::List<core::int> list30 = block {
-    final core::List<core::int> #t143 = <core::int>[];
+    final core::List<core::int> #t125 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t143.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
-  } =>#t143;
+        #t125.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
+  } =>#t125;
   core::Set<core::int?> set30 = block {
-    final core::Set<core::int?> #t144 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t126 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t144.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
-    #t144.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t144;
+        #t126.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
+    #t126.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t126;
   core::Map<core::String, core::int?> map30 = block {
-    final core::Map<core::String, core::int?> #t145 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t127 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t146 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-          #t145.{core::Map::[]=}{Invariant}(#t146.{core::MapEntry::key}{core::String}, #t146.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t145.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t145;
+        #t127.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t127;
   core::List<dynamic> list31 = block {
-    final core::List<dynamic> #t147 = <dynamic>[];
+    final core::List<dynamic> #t128 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t147.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t147;
+        #t128.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t128;
   core::Set<dynamic> set31 = block {
-    final core::Set<dynamic> #t148 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t129 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t148.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t148.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t148;
+        #t129.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t129.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t129;
   core::Map<core::String, dynamic> map31 = block {
-    final core::Map<core::String, dynamic> #t149 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t130 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t150 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-          #t149.{core::Map::[]=}{Invariant}(#t150.{core::MapEntry::key}{core::String}, #t150.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t149.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t149;
+        #t130.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t130;
   core::List<core::List<core::int>> list33 = block {
-    final core::List<core::List<core::int>> #t151 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t131 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t151.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t151;
+        #t131.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t131;
   core::Set<core::List<core::int>?> set33 = block {
-    final core::Set<core::List<core::int>?> #t152 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t132 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t152.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t152.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t152;
+        #t132.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t132.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t132;
   core::Map<core::String, core::List<core::int>?> map33 = block {
-    final core::Map<core::String, core::List<core::int>?> #t153 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t133 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t154 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t153.{core::Map::[]=}{Invariant}(#t154.{core::MapEntry::key}{core::String}, #t154.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t153.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t153;
+        #t133.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t133;
   core::List<core::List<core::int>> list40 = block {
-    final core::List<core::List<core::int>> #t155 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t134 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t155.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t155;
+      #t134.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t134;
   core::Set<core::List<core::int>?> set40 = block {
-    final core::Set<core::List<core::int>?> #t156 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t135 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t156.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t156.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t156;
+      #t135.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t135.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t135;
   core::Map<core::String, core::List<core::int>?> map40 = block {
-    final core::Map<core::String, core::List<core::int>?> #t157 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t136 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t158 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t157.{core::Map::[]=}{Invariant}(#t158.{core::MapEntry::key}{core::String}, #t158.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t157.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t157;
+      #t136.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t136.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t136;
   core::List<core::List<core::int>> list41 = block {
+    final core::List<core::List<core::int>> #t137 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t137.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>> #t138 = col::LinkedHashSet::•<core::List<core::int>>();
+        #t138.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
+      } =>#t138){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t137;
+  core::Set<core::List<core::int>?> set41 = block {
+    final core::Set<core::List<core::int>?> #t139 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t139.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>?> #t140 = col::LinkedHashSet::•<core::List<core::int>?>();
+        #t140.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+      } =>#t140){(core::Iterable<core::List<core::int>?>) → void};
+    #t139.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t139;
+  core::List<core::List<core::int>> list42 = block {
+    final core::List<core::List<core::int>> #t141 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t141.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t141;
+  core::Set<core::List<core::int>?> set42 = block {
+    final core::Set<core::List<core::int>?> #t142 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t142.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t142.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t142;
+  core::Map<core::String, core::List<core::int>?> map42 = block {
+    final core::Map<core::String, core::List<core::int>?> #t143 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t143.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t143.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t143;
+  core::List<core::int> list50 = block {
+    final core::List<core::int> #t144 = <core::int>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t144.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+  } =>#t144;
+  core::Set<core::int?> set50 = block {
+    final core::Set<core::int?> #t145 = col::LinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t145.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+    #t145.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t145;
+  core::Map<core::String, core::int?> map50 = block {
+    final core::Map<core::String, core::int?> #t146 = <core::String, core::int?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t146.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
+    #t146.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t146;
+  core::List<core::int> list51 = block {
+    final core::List<core::int> #t147 = <core::int>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t147.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int> #t148 = col::LinkedHashSet::•<core::int>();
+      } =>#t148){(core::Iterable<core::int>) → void};
+  } =>#t147;
+  core::Set<core::int?> set51 = block {
+    final core::Set<core::int?> #t149 = col::LinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t149.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int?> #t150 = col::LinkedHashSet::•<core::int?>();
+      } =>#t150){(core::Iterable<core::int?>) → void};
+    #t149.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t149;
+  core::List<core::int> list52 = block {
+    final core::List<core::int> #t151 = <core::int>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t151.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+  } =>#t151;
+  core::Set<core::int?> set52 = block {
+    final core::Set<core::int?> #t152 = col::LinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t152.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+    #t152.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t152;
+  core::List<core::List<core::int>> list60 = block {
+    final core::List<core::List<core::int>> #t153 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t153.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t153;
+  core::Set<core::List<core::int>?> set60 = block {
+    final core::Set<core::List<core::int>?> #t154 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t154.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t154.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t154;
+  core::Map<core::String, core::List<core::int>?> map60 = block {
+    final core::Map<core::String, core::List<core::int>?> #t155 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t155.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t155.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t155;
+  core::List<core::List<core::int>> list61 = block {
+    final core::List<core::List<core::int>> #t156 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t156.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t156;
+  core::Set<core::List<core::int>?> set61 = block {
+    final core::Set<core::List<core::int>?> #t157 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t157.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t157.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t157;
+  core::Map<core::String, core::List<core::int>?> map61 = block {
+    final core::Map<core::String, core::List<core::int>?> #t158 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t158.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t158.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t158;
+  core::List<core::List<core::int>> list70 = block {
     final core::List<core::List<core::int>> #t159 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t159.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>> #t160 = col::LinkedHashSet::•<core::List<core::int>>();
-        #t160.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
-      } =>#t160){(core::Iterable<core::List<core::int>>) → void};
+      #t159.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
   } =>#t159;
-  core::Set<core::List<core::int>?> set41 = block {
-    final core::Set<core::List<core::int>?> #t161 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t161.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>?> #t162 = col::LinkedHashSet::•<core::List<core::int>?>();
-        #t162.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-      } =>#t162){(core::Iterable<core::List<core::int>?>) → void};
-    #t161.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t161;
-  core::List<core::List<core::int>> list42 = block {
-    final core::List<core::List<core::int>> #t163 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t163.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t163;
-  core::Set<core::List<core::int>?> set42 = block {
-    final core::Set<core::List<core::int>?> #t164 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t164.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t164.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t164;
-  core::Map<core::String, core::List<core::int>?> map42 = block {
-    final core::Map<core::String, core::List<core::int>?> #t165 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t166 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t165.{core::Map::[]=}{Invariant}(#t166.{core::MapEntry::key}{core::String}, #t166.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t165.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t165;
-  core::List<core::int> list50 = block {
-    final core::List<core::int> #t167 = <core::int>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t167.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
-  } =>#t167;
-  core::Set<core::int?> set50 = block {
-    final core::Set<core::int?> #t168 = col::LinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t168.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
-    #t168.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t168;
-  core::Map<core::String, core::int?> map50 = block {
-    final core::Map<core::String, core::int?> #t169 = <core::String, core::int?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t170 in <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t169.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::String}, #t170.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t169.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t169;
-  core::List<core::int> list51 = block {
-    final core::List<core::int> #t171 = <core::int>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t171.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int> #t172 = col::LinkedHashSet::•<core::int>();
-      } =>#t172){(core::Iterable<core::int>) → void};
-  } =>#t171;
-  core::Set<core::int?> set51 = block {
-    final core::Set<core::int?> #t173 = col::LinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t173.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int?> #t174 = col::LinkedHashSet::•<core::int?>();
-      } =>#t174){(core::Iterable<core::int?>) → void};
-    #t173.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t173;
-  core::List<core::int> list52 = block {
-    final core::List<core::int> #t175 = <core::int>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t175.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
-  } =>#t175;
-  core::Set<core::int?> set52 = block {
-    final core::Set<core::int?> #t176 = col::LinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t176.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
-    #t176.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t176;
-  core::List<core::List<core::int>> list60 = block {
-    final core::List<core::List<core::int>> #t177 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t177.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t177;
-  core::Set<core::List<core::int>?> set60 = block {
-    final core::Set<core::List<core::int>?> #t178 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t178.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t178.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t178;
-  core::Map<core::String, core::List<core::int>?> map60 = block {
-    final core::Map<core::String, core::List<core::int>?> #t179 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t180 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t179.{core::Map::[]=}{Invariant}(#t180.{core::MapEntry::key}{core::String}, #t180.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t179;
-  core::List<core::List<core::int>> list61 = block {
-    final core::List<core::List<core::int>> #t181 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t181.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t181;
-  core::Set<core::List<core::int>?> set61 = block {
-    final core::Set<core::List<core::int>?> #t182 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t182.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t182.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t182;
-  core::Map<core::String, core::List<core::int>?> map61 = block {
-    final core::Map<core::String, core::List<core::int>?> #t183 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t184 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t183.{core::Map::[]=}{Invariant}(#t184.{core::MapEntry::key}{core::String}, #t184.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t183.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t183;
-  core::List<core::List<core::int>> list70 = block {
-    final core::List<core::List<core::int>> #t185 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t185.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t185;
   core::Set<core::List<core::int>?> set70 = block {
-    final core::Set<core::List<core::int>?> #t186 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t160 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t186.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t186.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t186;
+      #t160.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t160.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t160;
   core::Map<core::String, core::List<core::int>?> map70 = block {
-    final core::Map<core::String, core::List<core::int>?> #t187 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t161 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t187.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
-    #t187.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t187;
+      #t161.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
+    #t161.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t161;
   core::List<core::List<core::int>> list71 = block {
-    final core::List<core::List<core::int>> #t188 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t162 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t188.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t188;
+        #t162.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
+  } =>#t162;
   core::Set<core::List<core::int>?> set71 = block {
-    final core::Set<core::List<core::int>?> #t189 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t163 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t189.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t189.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t189;
+        #t163.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t163.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t163;
   core::Map<core::String, core::List<core::int>?> map71 = block {
-    final core::Map<core::String, core::List<core::int>?> #t190 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t164 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t190.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
-    #t190.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t190;
+        #t164.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
+    #t164.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t164;
   core::List<core::num> list80 = block {
-    final core::List<core::num> #t191 = <core::num>[];
+    final core::List<core::num> #t165 = <core::num>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t191.{core::List::add}{Invariant}(42){(core::num) → void};
+        #t165.{core::List::add}{Invariant}(42){(core::num) → void};
       else
-        #t191.{core::List::add}{Invariant}(3.14){(core::num) → void};
-  } =>#t191;
+        #t165.{core::List::add}{Invariant}(3.14){(core::num) → void};
+  } =>#t165;
   core::Set<core::num?> set80 = block {
-    final core::Set<core::num?> #t192 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t166 = col::LinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t192.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
+        #t166.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
       else
-        #t192.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t192.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t192;
+        #t166.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t166.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t166;
   core::Map<core::String, core::num?> map80 = block {
-    final core::Map<core::String, core::num?> #t193 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t167 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t193.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
+        #t167.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
       else
-        #t193.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t193.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t193;
+        #t167.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t167.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t167;
   core::List<core::num> list81 = block {
-    final core::List<core::num> #t194 = <core::num>[];
+    final core::List<core::num> #t168 = <core::num>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t194.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
+        #t168.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
       else
-        #t194.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t194;
+        #t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t168;
   core::Set<core::num?> set81 = block {
-    final core::Set<core::num?> #t195 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t169 = col::LinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t195.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+        #t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
       else
-        #t195.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
-    #t195.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t195;
+        #t169.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
+    #t169.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t169;
   core::Map<core::String, core::num?> map81 = block {
-    final core::Map<core::String, core::num?> #t196 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t170 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t197 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-          #t196.{core::Map::[]=}{Invariant}(#t197.{core::MapEntry::key}{core::String}, #t197.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+        #t170.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String, core::num?>) → void};
       else
-        for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t198 in mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-          #t196.{core::Map::[]=}{Invariant}(#t198.{core::MapEntry::key}{core::String}, #t198.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-    #t196.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t196;
+        #t170.{core::Map::addAll}{Invariant}(mapStringDouble){(core::Map<core::String, core::num?>) → void};
+    #t170.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t170;
   core::List<dynamic> list82 = block {
-    final core::List<dynamic> #t199 = <dynamic>[];
+    final core::List<dynamic> #t171 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t199.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+        #t171.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
       else
-        #t199.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-  } =>#t199;
+        #t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+  } =>#t171;
   core::Set<dynamic> set82 = block {
-    final core::Set<dynamic> #t200 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t172 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t200.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+        #t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
       else
-        #t200.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t200.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t200;
+        #t172.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t172.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t172;
   core::Map<dynamic, dynamic> map82 = block {
-    final core::Map<dynamic, dynamic> #t201 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t173 = <dynamic, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t202 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t202.{core::MapEntry::key}{dynamic}, #t202.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+        #t173.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<dynamic, dynamic>) → void};
       else
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t203 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}{dynamic}, #t203.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    #t201.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) → void};
-  } =>#t201;
+        #t173.{core::Map::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t173.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) → void};
+  } =>#t173;
   core::List<core::num> list83 = block {
-    final core::List<core::num> #t204 = <core::num>[];
+    final core::List<core::num> #t174 = <core::num>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t204.{core::List::add}{Invariant}(42){(core::num) → void};
+        #t174.{core::List::add}{Invariant}(42){(core::num) → void};
       else
-        #t204.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t204;
+        #t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t174;
   core::Set<core::num?> set83 = block {
-    final core::Set<core::num?> #t205 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t175 = col::LinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t205.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+        #t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
       else
-        #t205.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t205.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t205;
+        #t175.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t175.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t175;
   core::Map<core::String, core::num?> map83 = block {
-    final core::Map<core::String, core::num?> #t206 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t176 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t207 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-          #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}{core::String}, #t207.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+        #t176.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String, core::num?>) → void};
       else
-        #t206.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t206.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t206;
+        #t176.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t176.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t176;
   core::List<core::int> list90 = block {
-    final core::List<core::int> #t208 = <core::int>[];
+    final core::List<core::int> #t177 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t208.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t208;
+      #t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t177;
   core::Set<core::int?> set90 = block {
-    final core::Set<core::int?> #t209 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t178 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t209.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t209.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t209;
+      #t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t178.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t178;
   core::Map<core::String, core::int?> map90 = block {
-    final core::Map<core::String, core::int?> #t210 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t179 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t210.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t210.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t210;
+      #t179.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t179;
   core::List<core::int> list91 = block {
-    final core::List<core::int> #t211 = <core::int>[];
+    final core::List<core::int> #t180 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t212 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int #t213 = #t212 as{TypeError,ForNonNullableByDefault} core::int;
-        #t211.{core::List::add}{Invariant}(#t213){(core::int) → void};
+      for (final has-declared-initializer dynamic #t181 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
+        #t180.{core::List::add}{Invariant}(#t182){(core::int) → void};
       }
-  } =>#t211;
+  } =>#t180;
   core::Set<core::int?> set91 = block {
-    final core::Set<core::int?> #t214 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t183 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t215 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int? #t216 = #t215 as{TypeError,ForNonNullableByDefault} core::int?;
-        #t214.{core::Set::add}{Invariant}(#t216){(core::int?) → core::bool};
+      for (final has-declared-initializer dynamic #t184 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int? #t185 = #t184 as{TypeError,ForNonNullableByDefault} core::int?;
+        #t183.{core::Set::add}{Invariant}(#t185){(core::int?) → core::bool};
       }
-    #t214.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t214;
+    #t183.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t183;
   core::Map<core::String, core::int?> map91 = block {
-    final core::Map<core::String, core::int?> #t217 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t186 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t218 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
-        final core::String #t219 = #t218.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
-        final core::int? #t220 = #t218.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-        #t217.{core::Map::[]=}{Invariant}(#t219, #t220){(core::String, core::int?) → void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t187 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
+        final core::String #t188 = #t187.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
+        final core::int? #t189 = #t187.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+        #t186.{core::Map::[]=}{Invariant}(#t188, #t189){(core::String, core::int?) → void};
       }
-    #t217.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t217;
+    #t186.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t186;
   core::List<core::int> list100 = block {
-    final core::List<core::int> #t221 = <core::int>[];
-    for (final core::int #t222 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t221.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t221;
+    final core::List<core::int> #t190 = <core::int>[];
+    for (final core::int #t191 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t190.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t190;
   core::Set<core::int> set100 = block {
-    final core::Set<core::int> #t223 = col::LinkedHashSet::•<core::int>();
-    for (final core::int #t224 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t223.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t223;
+    final core::Set<core::int> #t192 = col::LinkedHashSet::•<core::int>();
+    for (final core::int #t193 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t192.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t192;
   core::Map<core::String, core::int> map100 = block {
-    final core::Map<core::String, core::int> #t225 = <core::String, core::int>{};
-    for (final core::int #t226 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t225.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int) → void};
-  } =>#t225;
+    final core::Map<core::String, core::int> #t194 = <core::String, core::int>{};
+    for (final core::int #t195 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t194.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int) → void};
+  } =>#t194;
   core::List<core::int> list110 = block {
-    final core::List<core::int> #t227 = <core::int>[];
+    final core::List<core::int> #t196 = <core::int>[];
     for (core::int i in <core::int>[1, 2, 3])
-      #t227.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t227;
+      #t196.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t196;
   core::Set<core::int?> set110 = block {
-    final core::Set<core::int?> #t228 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t197 = col::LinkedHashSet::•<core::int?>();
     for (core::int i in <core::int>[1, 2, 3])
-      #t228.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
-    #t228.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t228;
+      #t197.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+    #t197.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t197;
   core::Map<core::String, core::int?> map110 = block {
-    final core::Map<core::String, core::int?> #t229 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t198 = <core::String, core::int?>{};
     for (core::int i in <core::int>[1, 2, 3])
-      #t229.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
-    #t229.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t229;
+      #t198.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+    #t198.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t198;
   core::List<core::int> list120 = block {
-    final core::List<core::int> #t230 = <core::int>[];
+    final core::List<core::int> #t199 = <core::int>[];
     for (dynamic i in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t230.{core::List::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t230;
+      #t199.{core::List::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t199;
   core::Set<core::int?> set120 = block {
-    final core::Set<core::int?> #t231 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t200 = col::LinkedHashSet::•<core::int?>();
     for (dynamic i in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t231.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t231.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t231;
+      #t200.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t200.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t200;
   core::Map<core::String, core::int?> map120 = block {
-    final core::Map<core::String, core::int?> #t232 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t201 = <core::String, core::int?>{};
     for (dynamic i in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t232.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t232.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t232;
+      #t201.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t201.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t201;
   core::List<core::int> list130 = block {
-    final core::List<core::int> #t233 = <core::int>[];
+    final core::List<core::int> #t202 = <core::int>[];
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t233.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t233;
+      #t202.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t202;
   core::Set<core::int> set130 = block {
-    final core::Set<core::int> #t234 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t203 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t234.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
-  } =>#t234;
+      #t203.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
+  } =>#t203;
   core::Map<core::int, core::int> map130 = block {
-    final core::Map<core::int, core::int> #t235 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t204 = <core::int, core::int>{};
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t235.{core::Map::[]=}{Invariant}(i, i){(core::int, core::int) → void};
-  } =>#t235;
+      #t204.{core::Map::[]=}{Invariant}(i, i){(core::int, core::int) → void};
+  } =>#t204;
 }
 static method testForElementErrors(core::Map<core::int, core::int> map, core::List<core::int> list) → dynamic async /* futureValueType= dynamic */ {
   block {
-    final core::List<core::int> #t236 = <core::int>[];
+    final core::List<core::int> #t205 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t236.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t205.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t236;
+  } =>#t205;
   block {
-    final core::Set<core::int?> #t237 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t206 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t237.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:211:46: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:211:46: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
                                              ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t237.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t237;
+    #t206.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t206;
   block {
-    final core::Map<core::int, core::int?> #t238 = <core::int, core::int?>{};
+    final core::Map<core::int, core::int?> #t207 = <core::int, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:51: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:51: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                   ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:58: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                          ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int, core::int?) → void};
-    #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                                 ^" in "baz" as{TypeError,ForNonNullableByDefault} core::int, null){(core::int, core::int?) → void};
-  } =>#t238;
+  } =>#t207;
   block {
-    final core::List<core::int> #t239 = <core::int>[];
+    final core::List<core::int> #t208 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t239.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t208.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
                                                 ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int]){(core::Iterable<core::int>) → void};
-  } =>#t239;
+  } =>#t208;
   block {
-    final core::Set<core::int?> #t240 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t209 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t240.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t209.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
                                                  ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?]){(core::Iterable<core::int?>) → void};
-    #t240.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t240;
+    #t209.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t209;
   block {
-    final core::Map<core::int, core::int?> #t241 = <core::int, core::int?>{};
+    final core::Map<core::int, core::int?> #t210 = <core::int, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::int, core::int?> #t242 in <core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:55: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t210.{core::Map::addAll}{Invariant}(<core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:55: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                       ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int: invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:62: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int?>>})
-        #t241.{core::Map::[]=}{Invariant}(#t242.{core::MapEntry::key}{core::int}, #t242.{core::MapEntry::value}{core::int?}){(core::int, core::int?) → void};
-    #t241.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:70: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+                                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}){(core::Map<core::int, core::int?>) → void};
+    #t210.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:70: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                                      ^" in "baz" as{TypeError,ForNonNullableByDefault} core::int, null){(core::int, core::int?) → void};
-  } =>#t241;
+  } =>#t210;
   block {
-    final core::List<core::int> #t243 = <core::int>[];
+    final core::List<core::int> #t211 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t243.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t211.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
                                                ^"){(core::int) → void};
-  } =>#t243;
+  } =>#t211;
   block {
-    final core::Set<core::int?> #t244 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t212 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t244.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:217:49: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:217:49: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
                                                 ^"){(core::int?) → core::bool};
-    #t244.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t244;
+    #t212.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t212;
   <core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:218:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
@@ -1829,66 +1797,66 @@
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
                                                      ^": null};
   block {
-    final core::List<core::String> #t245 = <core::String>[];
+    final core::List<core::String> #t213 = <core::String>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
       else
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                                      ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t245;
+  } =>#t213;
   block {
-    final core::Set<core::String?> #t246 = col::LinkedHashSet::•<core::String?>();
+    final core::Set<core::String?> #t214 = col::LinkedHashSet::•<core::String?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:63: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:63: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
       else
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:71: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:71: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                                       ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
-    #t246.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
-  } =>#t246;
+    #t214.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
+  } =>#t214;
   block {
-    final core::Map<core::String, core::String?> #t247 = <core::String, core::String?>{};
+    final core::Map<core::String, core::String?> #t215 = <core::String, core::String?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:78: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:78: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String, String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
       else
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:93: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:93: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String, String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                                             ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
-    #t247.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
-  } =>#t247;
+    #t215.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
+  } =>#t215;
   block {
-    final core::List<core::int> #t248 = <core::int>[];
+    final core::List<core::int> #t216 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t248.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t216.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
                                                              ^"){(core::int) → void};
       else
-        #t248.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t248;
+        #t216.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t216;
   block {
-    final core::Set<core::int?> #t249 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t217 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t249.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:223:63: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:223:63: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
                                                               ^"){(core::int?) → core::bool};
       else
-        #t249.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t249.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t249;
+        #t217.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t217.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t217;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:224:71: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
@@ -1897,28 +1865,28 @@
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
                                                                       ^": null};
   block {
-    final core::List<core::int> #t250 = <core::int>[];
+    final core::List<core::int> #t218 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t250.{core::List::add}{Invariant}(42){(core::int) → void};
+        #t218.{core::List::add}{Invariant}(42){(core::int) → void};
       else
-        #t250.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t218.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
                                                                      ^"){(core::int) → void};
-  } =>#t250;
+  } =>#t218;
   block {
-    final core::Set<core::int?> #t251 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t219 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t251.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+        #t219.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
       else
-        #t251.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:226:71: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t219.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:226:71: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
                                                                       ^"){(core::int?) → core::bool};
-    #t251.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t251;
+    #t219.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t219;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:227:86: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
@@ -1928,218 +1896,218 @@
                                                                                      ^": null};
   final core::int i = 0;
   block {
-    final core::List<core::int> #t252 = <core::int>[];
-    for (final core::int #t253 in <core::int>[1]) {
+    final core::List<core::int> #t220 = <core::int>[];
+    for (final core::int #t221 in <core::int>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:230:14: Error: Can't assign to the final variable 'i'.
   <int>[for (i in <int>[1]) i];
              ^";
-      #t252.{core::List::add}{Invariant}(i){(core::int) → void};
+      #t220.{core::List::add}{Invariant}(i){(core::int) → void};
     }
-  } =>#t252;
+  } =>#t220;
   block {
-    final core::Set<core::int?> #t254 = col::LinkedHashSet::•<core::int?>();
-    for (final core::int #t255 in <core::int>[1]) {
+    final core::Set<core::int?> #t222 = col::LinkedHashSet::•<core::int?>();
+    for (final core::int #t223 in <core::int>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:231:15: Error: Can't assign to the final variable 'i'.
   <int?>{for (i in <int>[1]) i, null};
               ^";
-      #t254.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+      #t222.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
     }
-    #t254.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t254;
+    #t222.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t222;
   block {
-    final core::Map<core::String, core::int?> #t256 = <core::String, core::int?>{};
-    for (final core::int #t257 in <core::int>[1]) {
+    final core::Map<core::String, core::int?> #t224 = <core::String, core::int?>{};
+    for (final core::int #t225 in <core::int>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:232:23: Error: Can't assign to the final variable 'i'.
   <String, int?>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
                       ^";
-      #t256.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+      #t224.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
     }
-    #t256.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t256;
+    #t224.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t224;
   core::List<dynamic> list10 = block {
-    final core::List<dynamic> #t258 = <dynamic>[];
+    final core::List<dynamic> #t226 = <dynamic>[];
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:234:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var list10 = [for (var i in \"not iterable\") i];
                               ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t258.{core::List::add}{Invariant}(i){(dynamic) → void};
-  } =>#t258;
+      #t226.{core::List::add}{Invariant}(i){(dynamic) → void};
+  } =>#t226;
   core::Set<dynamic> set10 = block {
-    final core::Set<dynamic> #t259 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t227 = col::LinkedHashSet::•<dynamic>();
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:235:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var set10 = {for (var i in \"not iterable\") i, null};
                              ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t259.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
-    #t259.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t259;
+      #t227.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
+    #t227.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t227;
   core::Map<core::String, dynamic> map10 = block {
-    final core::Map<core::String, dynamic> #t260 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t228 = <core::String, dynamic>{};
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:236:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
                              ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t260.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
-    #t260.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t260;
+      #t228.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
+    #t228.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t228;
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t261 = <core::int>[];
+    final core::List<core::int> #t229 = <core::int>[];
     for (core::int i in <core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:237:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:237:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                       ^" in "int" as{TypeError,ForNonNullableByDefault} core::int])
-      #t261.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t261;
+      #t229.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t229;
   core::Set<core::int?> set20 = block {
-    final core::Set<core::int?> #t262 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t230 = col::LinkedHashSet::•<core::int?>();
     for (core::int i in <core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:238:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                               ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:238:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                                      ^" in "int" as{TypeError,ForNonNullableByDefault} core::int])
-      #t262.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
-    #t262.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t262;
+      #t230.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+    #t230.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t230;
   core::Map<core::String, core::int?> map20 = block {
-    final core::Map<core::String, core::int?> #t263 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t231 = <core::String, core::int?>{};
     for (core::int i in <core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:239:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                               ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:239:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                                      ^" in "int" as{TypeError,ForNonNullableByDefault} core::int])
-      #t263.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
-    #t263.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t263;
+      #t231.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+    #t231.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t231;
   core::List<dynamic> list30 = block {
-    final core::List<dynamic> #t264 = <dynamic>[];
+    final core::List<dynamic> #t232 = <dynamic>[];
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:240:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var list30 = [await for (var i in \"not stream\") i];
                                     ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>)
-      #t264.{core::List::add}{Invariant}(i){(dynamic) → void};
-  } =>#t264;
+      #t232.{core::List::add}{Invariant}(i){(dynamic) → void};
+  } =>#t232;
   core::Set<dynamic> set30 = block {
-    final core::Set<dynamic> #t265 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t233 = col::LinkedHashSet::•<dynamic>();
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:241:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var set30 = {await for (var i in \"not stream\") i, null};
                                    ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>)
-      #t265.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
-    #t265.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t265;
+      #t233.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
+    #t233.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t233;
   core::Map<core::String, dynamic> map30 = block {
-    final core::Map<core::String, dynamic> #t266 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t234 = <core::String, dynamic>{};
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:242:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
                                    ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>)
-      #t266.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
-    #t266.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t266;
+      #t234.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
+    #t234.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t234;
   core::List<core::int> list40 = block {
-    final core::List<core::int> #t267 = <core::int>[];
+    final core::List<core::int> #t235 = <core::int>[];
     await for (core::int i in asy::Stream::fromIterable<core::int>(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:243:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                          ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:243:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                                 ^" in "int" as{TypeError,ForNonNullableByDefault} core::int]))
-      #t267.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t267;
+      #t235.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t235;
   core::Set<core::int?> set40 = block {
-    final core::Set<core::int?> #t268 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t236 = col::LinkedHashSet::•<core::int?>();
     await for (core::int i in asy::Stream::fromIterable<core::int>(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:244:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                         ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:244:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                                ^" in "int" as{TypeError,ForNonNullableByDefault} core::int]))
-      #t268.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
-    #t268.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t268;
+      #t236.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+    #t236.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t236;
   core::Map<core::String, core::int?> map40 = block {
-    final core::Map<core::String, core::int?> #t269 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t237 = <core::String, core::int?>{};
     await for (core::int i in asy::Stream::fromIterable<core::int>(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:245:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                         ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:245:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                                ^" in "int" as{TypeError,ForNonNullableByDefault} core::int]))
-      #t269.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
-    #t269.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t269;
+      #t237.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+    #t237.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t237;
   core::List<core::int> list50 = block {
-    final core::List<core::int> #t270 = <core::int>[];
+    final core::List<core::int> #t238 = <core::int>[];
     for (; ; )
-      #t270.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t270;
+      #t238.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t238;
   core::Set<core::int?> set50 = block {
-    final core::Set<core::int?> #t271 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t239 = col::LinkedHashSet::•<core::int?>();
     for (; ; )
-      #t271.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t271.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t271;
+      #t239.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t239.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t239;
   core::Map<core::String, core::int?> map50 = block {
-    final core::Map<core::String, core::int?> #t272 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t240 = <core::String, core::int?>{};
     for (; ; )
-      #t272.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t272.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t272;
+      #t240.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t240.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t240;
   core::List<core::int> list60 = block {
-    final core::List<core::int> #t273 = <core::int>[];
+    final core::List<core::int> #t241 = <core::int>[];
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:249:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var list60 = [for (; \"not bool\";) 42];
                        ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t273.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t273;
+      #t241.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t241;
   core::Set<core::int?> set60 = block {
-    final core::Set<core::int?> #t274 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t242 = col::LinkedHashSet::•<core::int?>();
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:250:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var set60 = {for (; \"not bool\";) 42, null};
                       ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t274.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t274.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t274;
+      #t242.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t242.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t242;
   core::Map<core::String, core::int?> map60 = block {
-    final core::Map<core::String, core::int?> #t275 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t243 = <core::String, core::int?>{};
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:251:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
                       ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t275.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t275.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t275;
+      #t243.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t243.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t243;
 }
 static method testForElementErrorsNotAsync(asy::Stream<core::int> stream) → dynamic {
   block {
-    final core::List<core::int> #t276 = <core::int>[];
+    final core::List<core::int> #t244 = <core::int>[];
     await for (core::int i in stream)
-      #t276.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t276;
+      #t244.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t244;
   block {
-    final core::Set<core::int> #t277 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t245 = col::LinkedHashSet::•<core::int>();
     await for (core::int i in stream)
-      #t277.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
-  } =>#t277;
+      #t245.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
+  } =>#t245;
   block {
-    final core::Map<core::String, core::int> #t278 = <core::String, core::int>{};
+    final core::Map<core::String, core::int> #t246 = <core::String, core::int>{};
     await for (core::int i in stream)
-      #t278.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int) → void};
-  } =>#t278;
+      #t246.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int) → void};
+  } =>#t246;
 }
 static method testPromotion(self::A a) → dynamic {
   core::List<core::int> list10 = block {
-    final core::List<core::int> #t279 = <core::int>[];
+    final core::List<core::int> #t247 = <core::int>[];
     if(a is{ForNonNullableByDefault} self::B)
-      #t279.{core::List::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → void};
-  } =>#t279;
+      #t247.{core::List::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → void};
+  } =>#t247;
   core::Set<core::int> set10 = block {
-    final core::Set<core::int> #t280 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t248 = col::LinkedHashSet::•<core::int>();
     if(a is{ForNonNullableByDefault} self::B)
-      #t280.{core::Set::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → core::bool};
-  } =>#t280;
+      #t248.{core::Set::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → core::bool};
+  } =>#t248;
   core::Map<core::int, core::int> map10 = block {
-    final core::Map<core::int, core::int> #t281 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t249 = <core::int, core::int>{};
     if(a is{ForNonNullableByDefault} self::B)
-      #t281.{core::Map::[]=}{Invariant}(a{self::B}.{self::B::foo}{core::int}, a{self::B}.{self::B::foo}{core::int}){(core::int, core::int) → void};
-  } =>#t281;
+      #t249.{core::Map::[]=}{Invariant}(a{self::B}.{self::B::foo}{core::int}, a{self::B}.{self::B::foo}{core::int}){(core::int, core::int) → void};
+  } =>#t249;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.modular.expect b/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.modular.expect
index 8e550b8..8fb5c78 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.modular.expect
@@ -506,501 +506,486 @@
   core::Map<core::String, core::int?> map20 = block {
     final core::Map<core::String, core::int?> #t12 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t13 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
+      #t12.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
     #t12.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
   } =>#t12;
   core::List<dynamic> list21 = block {
-    final core::List<dynamic> #t14 = <dynamic>[];
+    final core::List<dynamic> #t13 = <dynamic>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t14.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t14;
+      #t13.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t13;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t15 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t14 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t15.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t15.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t15;
+      #t14.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t14.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t14;
   core::Map<core::String, dynamic> map21 = block {
-    final core::Map<core::String, dynamic> #t16 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t15 = <core::String, dynamic>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t17 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{core::String}, #t17.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t16.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t16;
+      #t15.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t15.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t15;
   core::List<core::List<core::int>> list22 = block {
-    final core::List<core::List<core::int>> #t18 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t16 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t18.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t18;
+      #t16.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t16;
   core::Set<core::List<core::int>?> set22 = block {
-    final core::Set<core::List<core::int>?> #t19 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t17 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t19.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t19.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t19;
+      #t17.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t17.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t17;
   core::Map<core::String, core::List<core::int>?> map22 = block {
-    final core::Map<core::String, core::List<core::int>?> #t20 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t18 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t21 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::String}, #t21.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t20.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t20;
+      #t18.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t18.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t18;
   core::List<core::int> list30 = block {
-    final core::List<core::int> #t22 = <core::int>[];
+    final core::List<core::int> #t19 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t22.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
-  } =>#t22;
+        #t19.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
+  } =>#t19;
   core::Set<core::int?> set30 = block {
-    final core::Set<core::int?> #t23 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t20 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t23.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
-    #t23.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t23;
+        #t20.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
+    #t20.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t20;
   core::Map<core::String, core::int?> map30 = block {
-    final core::Map<core::String, core::int?> #t24 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t21 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t25 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-          #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}{core::String}, #t25.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t24;
+        #t21.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t21.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t21;
   core::List<dynamic> list31 = block {
-    final core::List<dynamic> #t26 = <dynamic>[];
+    final core::List<dynamic> #t22 = <dynamic>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t26.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t26;
+        #t22.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t22;
   core::Set<dynamic> set31 = block {
-    final core::Set<dynamic> #t27 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t23 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t27.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t27.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t27;
+        #t23.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t23.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t23;
   core::Map<core::String, dynamic> map31 = block {
-    final core::Map<core::String, dynamic> #t28 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t24 = <core::String, dynamic>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t29 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-          #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}{core::String}, #t29.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t28.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t28;
+        #t24.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t24;
   core::List<core::List<core::int>> list33 = block {
-    final core::List<core::List<core::int>> #t30 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t25 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t30.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t30;
+        #t25.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t25;
   core::Set<core::List<core::int>?> set33 = block {
-    final core::Set<core::List<core::int>?> #t31 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t26 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t31.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t31.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t31;
+        #t26.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t26.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t26;
   core::Map<core::String, core::List<core::int>?> map33 = block {
-    final core::Map<core::String, core::List<core::int>?> #t32 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t27 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t33 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t32.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t32;
+        #t27.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t27.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t27;
   core::List<core::List<core::int>> list40 = block {
-    final core::List<core::List<core::int>> #t34 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t28 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t34.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t34;
+      #t28.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t28;
   core::Set<core::List<core::int>?> set40 = block {
-    final core::Set<core::List<core::int>?> #t35 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t29 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t35.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t35;
+      #t29.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t29.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t29;
   core::Map<core::String, core::List<core::int>?> map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:39:35: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   Map<String, List<int>?> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
                                   ^";
   core::List<core::List<core::int>> list41 = block {
-    final core::List<core::List<core::int>> #t36 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t30 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t36.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>> #t37 = col::LinkedHashSet::•<core::List<core::int>>();
-        #t37.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
-      } =>#t37){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t36;
+      #t30.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>> #t31 = col::LinkedHashSet::•<core::List<core::int>>();
+        #t31.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
+      } =>#t31){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t30;
   core::Set<core::List<core::int>?> set41 = block {
-    final core::Set<core::List<core::int>?> #t38 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t32 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t38.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>?> #t39 = col::LinkedHashSet::•<core::List<core::int>?>();
-        #t39.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-      } =>#t39){(core::Iterable<core::List<core::int>?>) → void};
-    #t38.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t38;
+      #t32.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>?> #t33 = col::LinkedHashSet::•<core::List<core::int>?>();
+        #t33.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+      } =>#t33){(core::Iterable<core::List<core::int>?>) → void};
+    #t32.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t32;
   core::List<core::List<core::int>> list42 = block {
-    final core::List<core::List<core::int>> #t40 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t34 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t40.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t40;
+        #t34.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t34;
   core::Set<core::List<core::int>?> set42 = block {
-    final core::Set<core::List<core::int>?> #t41 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t35 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t41.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t41.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t41;
+        #t35.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t35;
   core::Map<core::String, core::List<core::int>?> map42 = block {
-    final core::Map<core::String, core::List<core::int>?> #t42 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t36 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t43 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}{core::String}, #t43.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t42.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t42;
+        #t36.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t36.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t36;
   core::List<core::int> list50 = block {
+    final core::List<core::int> #t37 = <core::int>[];
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t37.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+  } =>#t37;
+  core::Set<core::int?> set50 = block {
+    final core::Set<core::int?> #t38 = col::LinkedHashSet::•<core::int?>();
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t38.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+    #t38.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t38;
+  core::Map<core::String, core::int?> map50 = block {
+    final core::Map<core::String, core::int?> #t39 = <core::String, core::int?>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t39.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
+    #t39.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t39;
+  core::List<core::int> list51 = block {
+    final core::List<core::int> #t40 = <core::int>[];
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t40.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int> #t41 = col::LinkedHashSet::•<core::int>();
+      } =>#t41){(core::Iterable<core::int>) → void};
+  } =>#t40;
+  core::Set<core::int?> set51 = block {
+    final core::Set<core::int?> #t42 = col::LinkedHashSet::•<core::int?>();
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t42.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int?> #t43 = col::LinkedHashSet::•<core::int?>();
+      } =>#t43){(core::Iterable<core::int?>) → void};
+    #t42.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t42;
+  core::List<core::int> list52 = block {
     final core::List<core::int> #t44 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t44.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t44.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
   } =>#t44;
-  core::Set<core::int?> set50 = block {
+  core::Set<core::int?> set52 = block {
     final core::Set<core::int?> #t45 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t45.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t45.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
     #t45.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
   } =>#t45;
-  core::Map<core::String, core::int?> map50 = block {
+  core::Map<core::String, core::int?> map52 = block {
     final core::Map<core::String, core::int?> #t46 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t47 in <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}{core::String}, #t47.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t46.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
     #t46.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
   } =>#t46;
-  core::List<core::int> list51 = block {
-    final core::List<core::int> #t48 = <core::int>[];
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t48.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
-      } =>#t49){(core::Iterable<core::int>) → void};
-  } =>#t48;
-  core::Set<core::int?> set51 = block {
-    final core::Set<core::int?> #t50 = col::LinkedHashSet::•<core::int?>();
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t50.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int?> #t51 = col::LinkedHashSet::•<core::int?>();
-      } =>#t51){(core::Iterable<core::int?>) → void};
-    #t50.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t50;
-  core::List<core::int> list52 = block {
-    final core::List<core::int> #t52 = <core::int>[];
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t52.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
-  } =>#t52;
-  core::Set<core::int?> set52 = block {
-    final core::Set<core::int?> #t53 = col::LinkedHashSet::•<core::int?>();
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t53.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
-    #t53.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t53;
-  core::Map<core::String, core::int?> map52 = block {
-    final core::Map<core::String, core::int?> #t54 = <core::String, core::int?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t55 in <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-          #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::String}, #t55.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t54.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t54;
   core::List<core::List<core::int>> list60 = block {
-    final core::List<core::List<core::int>> #t56 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t47 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t56.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t56;
+      #t47.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t47;
   core::Set<core::List<core::int>?> set60 = block {
-    final core::Set<core::List<core::int>?> #t57 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t48 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t57.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t57.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t57;
+      #t48.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t48.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t48;
   core::Map<core::String, core::List<core::int>?> map60 = block {
-    final core::Map<core::String, core::List<core::int>?> #t58 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t49 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t59 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}{core::String}, #t59.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t58.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t58;
+      #t49.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t49.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t49;
   core::List<core::List<core::int>> list61 = block {
-    final core::List<core::List<core::int>> #t60 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t50 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t60.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t60;
+        #t50.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t50;
   core::Set<core::List<core::int>?> set61 = block {
-    final core::Set<core::List<core::int>?> #t61 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t51 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t61.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t61.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t61;
+        #t51.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t51.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t51;
   core::Map<core::String, core::List<core::int>?> map61 = block {
-    final core::Map<core::String, core::List<core::int>?> #t62 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t52 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t63 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}{core::String}, #t63.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t62;
+        #t52.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t52.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t52;
   core::List<core::List<core::int>> list70 = block {
-    final core::List<core::List<core::int>> #t64 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t53 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t64.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t64;
+      #t53.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
+  } =>#t53;
   core::Set<core::List<core::int>?> set70 = block {
-    final core::Set<core::List<core::int>?> #t65 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t54 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t65.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t65.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t65;
+      #t54.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t54.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t54;
   core::List<core::List<core::int>> list71 = block {
-    final core::List<core::List<core::int>> #t66 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t55 = <core::List<core::int>>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t66.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t66;
+        #t55.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
+  } =>#t55;
   core::Set<core::List<core::int>?> set71 = block {
-    final core::Set<core::List<core::int>?> #t67 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t56 = col::LinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t67.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t67.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t67;
+        #t56.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t56.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t56;
   core::List<core::num> list80 = block {
-    final core::List<core::num> #t68 = <core::num>[];
+    final core::List<core::num> #t57 = <core::num>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t68.{core::List::add}{Invariant}(42){(core::num) → void};
+      #t57.{core::List::add}{Invariant}(42){(core::num) → void};
     else
-      #t68.{core::List::add}{Invariant}(3.14){(core::num) → void};
-  } =>#t68;
+      #t57.{core::List::add}{Invariant}(3.14){(core::num) → void};
+  } =>#t57;
   core::Set<core::num?> set80 = block {
-    final core::Set<core::num?> #t69 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t58 = col::LinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t69.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
+      #t58.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
     else
-      #t69.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t69.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t69;
+      #t58.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t58.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t58;
   core::Map<core::String, core::num?> map80 = block {
-    final core::Map<core::String, core::num?> #t70 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t59 = <core::String, core::num?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t70.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
+      #t59.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
     else
-      #t70.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t70.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t70;
+      #t59.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t59.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t59;
   core::List<core::num> list81 = block {
-    final core::List<core::num> #t71 = <core::num>[];
+    final core::List<core::num> #t60 = <core::num>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t71.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
+      #t60.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
     else
-      #t71.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t71;
+      #t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t60;
   core::Set<core::num?> set81 = block {
-    final core::Set<core::num?> #t72 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t61 = col::LinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t72.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+      #t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
     else
-      #t72.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
-    #t72.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t72;
+      #t61.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
+    #t61.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t61;
   core::Map<core::String, core::num?> map81 = block {
-    final core::Map<core::String, core::num?> #t73 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t62 = <core::String, core::num?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t74 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-        #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}{core::String}, #t74.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+      #t62.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String, core::num?>) → void};
     else
-      for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t75 in mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-        #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}{core::String}, #t75.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-    #t73.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t73;
+      #t62.{core::Map::addAll}{Invariant}(mapToDouble){(core::Map<core::String, core::num?>) → void};
+    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t62;
   core::List<dynamic> list82 = block {
-    final core::List<dynamic> #t76 = <dynamic>[];
+    final core::List<dynamic> #t63 = <dynamic>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t76.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+      #t63.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
     else
-      #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-  } =>#t76;
+      #t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+  } =>#t63;
   core::Set<dynamic> set82 = block {
-    final core::Set<dynamic> #t77 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t64 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t77.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+      #t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
     else
-      #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t77.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t77;
+      #t64.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t64.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t64;
   core::Set<dynamic> map82 = block {
-    final core::Set<dynamic> #t78 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t65 = col::LinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
                                      ^"){(dynamic) → core::bool};
     else
-      #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t78.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t78;
+      #t65.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t65.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t65;
   core::List<core::num> list83 = block {
-    final core::List<core::num> #t79 = <core::num>[];
+    final core::List<core::num> #t66 = <core::num>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t79.{core::List::add}{Invariant}(42){(core::num) → void};
+      #t66.{core::List::add}{Invariant}(42){(core::num) → void};
     else
-      #t79.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t79;
+      #t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t66;
   core::Set<core::num?> set83 = block {
-    final core::Set<core::num?> #t80 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t67 = col::LinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t80.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+      #t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
     else
-      #t80.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t80.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t80;
+      #t67.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t67.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t67;
   core::Map<core::String, core::num?> map83 = block {
-    final core::Map<core::String, core::num?> #t81 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t68 = <core::String, core::num?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t82 in mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-        #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}{core::String}, #t82.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+      #t68.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String, core::num?>) → void};
     else
-      #t81.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t81.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t81;
+      #t68.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t68.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t68;
   core::List<core::int> list90 = block {
-    final core::List<core::int> #t83 = <core::int>[];
+    final core::List<core::int> #t69 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t83;
+      #t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t69;
   core::Set<core::int?> set90 = block {
-    final core::Set<core::int?> #t84 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t70 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t84.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t84;
+      #t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t70.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t70;
   core::Map<core::String, core::int?> map90 = block {
-    final core::Map<core::String, core::int?> #t85 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t71 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t85.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t85;
+      #t71.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t71.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t71;
   core::List<core::int> list91 = block {
-    final core::List<core::int> #t86 = <core::int>[];
+    final core::List<core::int> #t72 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer dynamic #t87 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int #t88 = #t87 as{TypeError,ForNonNullableByDefault} core::int;
-        #t86.{core::List::add}{Invariant}(#t88){(core::int) → void};
+      for (final has-declared-initializer dynamic #t73 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
+        #t72.{core::List::add}{Invariant}(#t74){(core::int) → void};
       }
-  } =>#t86;
+  } =>#t72;
   core::Set<core::int?> set91 = block {
-    final core::Set<core::int?> #t89 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t75 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer dynamic #t90 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int? #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int?;
-        #t89.{core::Set::add}{Invariant}(#t91){(core::int?) → core::bool};
+      for (final has-declared-initializer dynamic #t76 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int? #t77 = #t76 as{TypeError,ForNonNullableByDefault} core::int?;
+        #t75.{core::Set::add}{Invariant}(#t77){(core::int?) → core::bool};
       }
-    #t89.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t89;
+    #t75.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t75;
   core::Map<core::String, core::int?> map91 = block {
-    final core::Map<core::String, core::int?> #t92 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t78 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t93 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
-        final core::String #t94 = #t93.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
-        final core::int? #t95 = #t93.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-        #t92.{core::Map::[]=}{Invariant}(#t94, #t95){(core::String, core::int?) → void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t79 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
+        final core::String #t80 = #t79.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
+        final core::int? #t81 = #t79.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+        #t78.{core::Map::[]=}{Invariant}(#t80, #t81){(core::String, core::int?) → void};
       }
-    #t92.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t92;
+    #t78.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t78;
   core::List<core::int> list100 = block {
-    final core::List<core::int> #t96 = <core::int>[];
+    final core::List<core::int> #t82 = <core::int>[];
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t96.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t96;
+      #t82.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t82;
   core::Set<core::int> set100 = block {
-    final core::Set<core::int> #t97 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t83 = col::LinkedHashSet::•<core::int>();
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t97.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t97;
+      #t83.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t83;
   core::Map<core::int, core::int> map100 = block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t84 = <core::int, core::int>{};
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t98.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
-  } =>#t98;
+      #t84.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
+  } =>#t84;
 }
 static method testIfElementErrors(core::Map<core::int, core::int> map) → dynamic {
   block {
-    final core::List<core::int> #t99 = <core::int>[];
+    final core::List<core::int> #t85 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t99.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t85.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) \"bar\"];
                            ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t99;
+  } =>#t85;
   block {
-    final core::Set<core::int?> #t100 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t86 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t100.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:88:29: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:88:29: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{if (oracle(\"foo\")) \"bar\", null};
                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t100.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t100;
+    #t86.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t86;
   block {
-    final core::Map<core::String, core::int?> #t101 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t87 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t101.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:89:44: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t87.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:89:44: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <String, int?>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
                                            ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t101.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t101;
+    #t87.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t87;
   block {
-    final core::List<core::int> #t102 = <core::int>[];
+    final core::List<core::int> #t88 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t102.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t88.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) ...[\"bar\"]];
                                ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int]){(core::Iterable<core::int>) → void};
-  } =>#t102;
+  } =>#t88;
   block {
-    final core::Set<core::int?> #t103 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t89 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t103.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:91:33: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t89.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:91:33: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{if (oracle(\"foo\")) ...[\"bar\"], null};
                                 ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?]){(core::Iterable<core::int?>) → void};
-    #t103.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t103;
+    #t89.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t89;
   block {
-    final core::Map<core::String, core::int?> #t104 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t90 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t105 in <core::String, core::int?>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:92:48: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t90.{core::Map::addAll}{Invariant}(<core::String, core::int?>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:92:48: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <String, int?>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                               ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t104.{core::Map::[]=}{Invariant}(#t105.{core::MapEntry::key}{core::String}, #t105.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t104.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t104;
+                                               ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}){(core::Map<core::String, core::int?>) → void};
+    #t90.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t90;
   block {
-    final core::List<core::int> #t106 = <core::int>[];
+    final core::List<core::int> #t91 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t106.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t91.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map];
                               ^"){(core::int) → void};
-  } =>#t106;
+  } =>#t91;
   block {
-    final core::Set<core::int?> #t107 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t92 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t107.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:94:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:94:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map, null};
                                ^"){(core::int?) → core::bool};
-    #t107.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t107;
+    #t92.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t92;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:95:40: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
@@ -1009,61 +994,61 @@
   <String, int?>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
                                        ^": null};
   block {
-    final core::List<core::String> #t108 = <core::String>[];
+    final core::List<core::String> #t93 = <core::String>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
     else
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                                       ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t108;
+  } =>#t93;
   block {
-    final core::Set<core::String?> #t109 = col::LinkedHashSet::•<core::String?>();
+    final core::Set<core::String?> #t94 = col::LinkedHashSet::•<core::String?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:32: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:32: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String?>{if (oracle(\"foo\")) 42 else 3.14, null};
                                ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
     else
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:40: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:40: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String?>{if (oracle(\"foo\")) 42 else 3.14, null};
                                        ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
-    #t109.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
-  } =>#t109;
+    #t94.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
+  } =>#t94;
   block {
-    final core::Map<core::String, core::String?> #t110 = <core::String, core::String?>{};
+    final core::Map<core::String, core::String?> #t95 = <core::String, core::String?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t110.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:47: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+      #t95.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:47: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String, String?>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
     else
-      #t110.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:62: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+      #t95.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:62: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String, String?>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                                              ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
-    #t110.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
-  } =>#t110;
+    #t95.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
+  } =>#t95;
   block {
-    final core::List<core::int> #t111 = <core::int>[];
+    final core::List<core::int> #t96 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t111.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t96.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map else 42];
                               ^"){(core::int) → void};
     else
-      #t111.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t111;
+      #t96.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t96;
   block {
-    final core::Set<core::int?> #t112 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t97 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t112.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:100:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:100:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map else 42, null};
                                ^"){(core::int?) → core::bool};
     else
-      #t112.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t112.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t112;
+      #t97.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t97.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t97;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:101:40: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
@@ -1072,26 +1057,26 @@
   <String, int?>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
                                        ^": null};
   block {
-    final core::List<core::int> #t113 = <core::int>[];
+    final core::List<core::int> #t98 = <core::int>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t113.{core::List::add}{Invariant}(42){(core::int) → void};
+      #t98.{core::List::add}{Invariant}(42){(core::int) → void};
     else
-      #t113.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t98.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) 42 else ...map];
                                       ^"){(core::int) → void};
-  } =>#t113;
+  } =>#t98;
   block {
-    final core::Set<core::int?> #t114 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t99 = col::LinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:103:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:103:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map else 42, null};
                                ^"){(core::int?) → core::bool};
     else
-      #t114.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t114.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t114;
+      #t99.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t99.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t99;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:104:55: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
@@ -1118,709 +1103,692 @@
   var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                    ^": null};
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t115 = <core::int>[];
+    final core::List<core::int> #t100 = <core::int>[];
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   List<int> list20 = [if (42) 42];
                           ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t115.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t115;
+      #t100.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t100;
   core::Set<core::int> set20 = block {
-    final core::Set<core::int> #t116 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t101 = col::LinkedHashSet::•<core::int>();
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Set<int> set20 = {if (42) 42};
                         ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t116.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t116;
+      #t101.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t101;
   core::Map<core::int, core::int> map30 = block {
-    final core::Map<core::int, core::int> #t117 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t102 = <core::int, core::int>{};
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Map<int, int> map30 = {if (42) 42: 42};
                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t117.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
-  } =>#t117;
+      #t102.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
+  } =>#t102;
   core::List<core::String> list40 = block {
-    final core::List<core::String> #t118 = <core::String>[];
+    final core::List<core::String> #t103 = <core::String>[];
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                     ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
     else
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t118;
+  } =>#t103;
   core::Set<core::String> set40 = block {
-    final core::Set<core::String> #t119 = col::LinkedHashSet::•<core::String>();
+    final core::Set<core::String> #t104 = col::LinkedHashSet::•<core::String>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                   ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::String) → core::bool};
     else
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                             ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → core::bool};
-  } =>#t119;
+  } =>#t104;
   core::Map<core::String, core::int> map40 = block {
-    final core::Map<core::String, core::int> #t120 = <core::String, core::int>{};
+    final core::Map<core::String, core::int> #t105 = <core::String, core::int>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                             ^" in true as{TypeError,ForNonNullableByDefault} core::String, 42){(core::String, core::int) → void};
     else
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                                           ^" in 42 as{TypeError,ForNonNullableByDefault} core::String, 42){(core::String, core::int) → void};
-  } =>#t120;
+  } =>#t105;
   core::Map<core::int, core::String> map41 = block {
-    final core::Map<core::int, core::String> #t121 = <core::int, core::String>{};
+    final core::Map<core::int, core::String> #t106 = <core::int, core::String>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                 ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::int, core::String) → void};
     else
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::int, core::String) → void};
-  } =>#t121;
+  } =>#t106;
 }
 static method testForElement(dynamic dynVar, core::List<core::int> listInt, core::List<core::double> listDouble, core::int index, core::Map<core::String, core::int> mapStringInt, core::Map<core::String, core::double> mapStringDouble) → dynamic {
   core::List<core::int> list10 = block {
-    final core::List<core::int> #t122 = <core::int>[];
+    final core::List<core::int> #t107 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t122.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t122;
+      #t107.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t107;
   core::Set<core::int?> set10 = block {
-    final core::Set<core::int?> #t123 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t108 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t123.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t123.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t123;
+      #t108.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t108.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t108;
   core::Map<core::String, core::int?> map10 = block {
-    final core::Map<core::String, core::int?> #t124 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t109 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t124.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t124;
+      #t109.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t109.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t109;
   core::List<dynamic> list11 = block {
-    final core::List<dynamic> #t125 = <dynamic>[];
+    final core::List<dynamic> #t110 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t125.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
-  } =>#t125;
+      #t110.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
+  } =>#t110;
   core::Set<dynamic> set11 = block {
-    final core::Set<dynamic> #t126 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t111 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t126.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
-    #t126.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t126;
+      #t111.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
+    #t111.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t111;
   core::Map<core::String, dynamic> map11 = block {
-    final core::Map<core::String, dynamic> #t127 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t112 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t127.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String, dynamic) → void};
-    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t127;
+      #t112.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String, dynamic) → void};
+    #t112.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t112;
   core::List<core::List<core::int>> list12 = block {
-    final core::List<core::List<core::int>> #t128 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t113 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t128.{core::List::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → void};
-  } =>#t128;
+      #t113.{core::List::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → void};
+  } =>#t113;
   core::Set<core::List<core::int>?> set12 = block {
-    final core::Set<core::List<core::int>?> #t129 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t114 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t129.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>?) → core::bool};
-    #t129.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t129;
+      #t114.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>?) → core::bool};
+    #t114.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t114;
   core::Map<core::String, core::List<core::int>?> map12 = block {
-    final core::Map<core::String, core::List<core::int>?> #t130 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t115 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t130.{core::Map::[]=}{Invariant}("bar", <core::int>[42]){(core::String, core::List<core::int>?) → void};
-    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t130;
+      #t115.{core::Map::[]=}{Invariant}("bar", <core::int>[42]){(core::String, core::List<core::int>?) → void};
+    #t115.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t115;
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t131 = <core::int>[];
+    final core::List<core::int> #t116 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t131.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
-  } =>#t131;
+      #t116.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
+  } =>#t116;
   core::Set<core::int?> set20 = block {
-    final core::Set<core::int?> #t132 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t117 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t132.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
-    #t132.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t132;
+      #t117.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
+    #t117.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t117;
   core::Map<core::String, core::int?> map20 = block {
-    final core::Map<core::String, core::int?> #t133 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t118 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t134 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t133.{core::Map::[]=}{Invariant}(#t134.{core::MapEntry::key}{core::String}, #t134.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t133;
+      #t118.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t118.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t118;
   core::List<dynamic> list21 = block {
-    final core::List<dynamic> #t135 = <dynamic>[];
+    final core::List<dynamic> #t119 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t135.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t135;
+      #t119.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t119;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t136 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t120 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t136.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t136.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t136;
+      #t120.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t120.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t120;
   core::Map<core::String, dynamic> map21 = block {
-    final core::Map<core::String, dynamic> #t137 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t121 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t138 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-        #t137.{core::Map::[]=}{Invariant}(#t138.{core::MapEntry::key}{core::String}, #t138.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t137.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t137;
+      #t121.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t121.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t121;
   core::List<core::List<core::int>> list22 = block {
-    final core::List<core::List<core::int>> #t139 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t122 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t139.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t139;
+      #t122.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t122;
   core::Set<core::List<core::int>?> set22 = block {
-    final core::Set<core::List<core::int>?> #t140 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t123 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t140.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t140;
+      #t123.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t123.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t123;
   core::Map<core::String, core::List<core::int>?> map22 = block {
-    final core::Map<core::String, core::List<core::int>?> #t141 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t124 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t142 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t141.{core::Map::[]=}{Invariant}(#t142.{core::MapEntry::key}{core::String}, #t142.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t141.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t141;
+      #t124.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t124;
   core::List<core::int> list30 = block {
-    final core::List<core::int> #t143 = <core::int>[];
+    final core::List<core::int> #t125 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t143.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
-  } =>#t143;
+        #t125.{core::List::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int>) → void};
+  } =>#t125;
   core::Set<core::int?> set30 = block {
-    final core::Set<core::int?> #t144 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t126 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t144.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
-    #t144.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t144;
+        #t126.{core::Set::addAll}{Invariant}(<core::int>[42]){(core::Iterable<core::int?>) → void};
+    #t126.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t126;
   core::Map<core::String, core::int?> map30 = block {
-    final core::Map<core::String, core::int?> #t145 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t127 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t146 in <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-          #t145.{core::Map::[]=}{Invariant}(#t146.{core::MapEntry::key}{core::String}, #t146.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t145.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t145;
+        #t127.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t127;
   core::List<dynamic> list31 = block {
-    final core::List<dynamic> #t147 = <dynamic>[];
+    final core::List<dynamic> #t128 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t147.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-  } =>#t147;
+        #t128.{core::List::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+  } =>#t128;
   core::Set<dynamic> set31 = block {
-    final core::Set<dynamic> #t148 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t129 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t148.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
-    #t148.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t148;
+        #t129.{core::Set::addAll}{Invariant}(<dynamic>[dynVar]){(core::Iterable<dynamic>) → void};
+    #t129.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t129;
   core::Map<core::String, dynamic> map31 = block {
-    final core::Map<core::String, dynamic> #t149 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t130 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, dynamic> #t150 in <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>})
-          #t149.{core::Map::[]=}{Invariant}(#t150.{core::MapEntry::key}{core::String}, #t150.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-    #t149.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t149;
+        #t130.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t130;
   core::List<core::List<core::int>> list33 = block {
-    final core::List<core::List<core::int>> #t151 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t131 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t151.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t151;
+        #t131.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t131;
   core::Set<core::List<core::int>?> set33 = block {
-    final core::Set<core::List<core::int>?> #t152 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t132 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t152.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t152.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t152;
+        #t132.{core::Set::addAll}{Invariant}(<core::List<core::int>>[<core::int>[42]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t132.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t132;
   core::Map<core::String, core::List<core::int>?> map33 = block {
-    final core::Map<core::String, core::List<core::int>?> #t153 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t133 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t154 in <core::String, core::List<core::int>>{"bar": <core::int>[42]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t153.{core::Map::[]=}{Invariant}(#t154.{core::MapEntry::key}{core::String}, #t154.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t153.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t153;
+        #t133.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": <core::int>[42]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t133;
   core::List<core::List<core::int>> list40 = block {
-    final core::List<core::List<core::int>> #t155 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t134 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t155.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t155;
+      #t134.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t134;
   core::Set<core::List<core::int>?> set40 = block {
-    final core::Set<core::List<core::int>?> #t156 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t135 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t156.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t156.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t156;
+      #t135.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t135.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t135;
   core::Map<core::String, core::List<core::int>?> map40 = block {
-    final core::Map<core::String, core::List<core::int>?> #t157 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t136 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t158 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t157.{core::Map::[]=}{Invariant}(#t158.{core::MapEntry::key}{core::String}, #t158.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t157.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t157;
+      #t136.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t136.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t136;
   core::List<core::List<core::int>> list41 = block {
+    final core::List<core::List<core::int>> #t137 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t137.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>> #t138 = col::LinkedHashSet::•<core::List<core::int>>();
+        #t138.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
+      } =>#t138){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t137;
+  core::Set<core::List<core::int>?> set41 = block {
+    final core::Set<core::List<core::int>?> #t139 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t139.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>?> #t140 = col::LinkedHashSet::•<core::List<core::int>?>();
+        #t140.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+      } =>#t140){(core::Iterable<core::List<core::int>?>) → void};
+    #t139.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t139;
+  core::List<core::List<core::int>> list42 = block {
+    final core::List<core::List<core::int>> #t141 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t141.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t141;
+  core::Set<core::List<core::int>?> set42 = block {
+    final core::Set<core::List<core::int>?> #t142 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t142.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t142.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t142;
+  core::Map<core::String, core::List<core::int>?> map42 = block {
+    final core::Map<core::String, core::List<core::int>?> #t143 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t143.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t143.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t143;
+  core::List<core::int> list50 = block {
+    final core::List<core::int> #t144 = <core::int>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t144.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+  } =>#t144;
+  core::Set<core::int?> set50 = block {
+    final core::Set<core::int?> #t145 = col::LinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t145.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+    #t145.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t145;
+  core::Map<core::String, core::int?> map50 = block {
+    final core::Map<core::String, core::int?> #t146 = <core::String, core::int?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t146.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
+    #t146.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t146;
+  core::List<core::int> list51 = block {
+    final core::List<core::int> #t147 = <core::int>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t147.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int> #t148 = col::LinkedHashSet::•<core::int>();
+      } =>#t148){(core::Iterable<core::int>) → void};
+  } =>#t147;
+  core::Set<core::int?> set51 = block {
+    final core::Set<core::int?> #t149 = col::LinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t149.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int?> #t150 = col::LinkedHashSet::•<core::int?>();
+      } =>#t150){(core::Iterable<core::int?>) → void};
+    #t149.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t149;
+  core::List<core::int> list52 = block {
+    final core::List<core::int> #t151 = <core::int>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t151.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
+  } =>#t151;
+  core::Set<core::int?> set52 = block {
+    final core::Set<core::int?> #t152 = col::LinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t152.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
+    #t152.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t152;
+  core::List<core::List<core::int>> list60 = block {
+    final core::List<core::List<core::int>> #t153 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t153.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t153;
+  core::Set<core::List<core::int>?> set60 = block {
+    final core::Set<core::List<core::int>?> #t154 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t154.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t154.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t154;
+  core::Map<core::String, core::List<core::int>?> map60 = block {
+    final core::Map<core::String, core::List<core::int>?> #t155 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t155.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t155.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t155;
+  core::List<core::List<core::int>> list61 = block {
+    final core::List<core::List<core::int>> #t156 = <core::List<core::int>>[];
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t156.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t156;
+  core::Set<core::List<core::int>?> set61 = block {
+    final core::Set<core::List<core::int>?> #t157 = col::LinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t157.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
+    #t157.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t157;
+  core::Map<core::String, core::List<core::int>?> map61 = block {
+    final core::Map<core::String, core::List<core::int>?> #t158 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t158.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": <core::int>[]}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t158.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t158;
+  core::List<core::List<core::int>> list70 = block {
     final core::List<core::List<core::int>> #t159 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t159.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>> #t160 = col::LinkedHashSet::•<core::List<core::int>>();
-        #t160.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>) → core::bool};
-      } =>#t160){(core::Iterable<core::List<core::int>>) → void};
+      #t159.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
   } =>#t159;
-  core::Set<core::List<core::int>?> set41 = block {
-    final core::Set<core::List<core::int>?> #t161 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t161.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>?> #t162 = col::LinkedHashSet::•<core::List<core::int>?>();
-        #t162.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-      } =>#t162){(core::Iterable<core::List<core::int>?>) → void};
-    #t161.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t161;
-  core::List<core::List<core::int>> list42 = block {
-    final core::List<core::List<core::int>> #t163 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t163.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t163;
-  core::Set<core::List<core::int>?> set42 = block {
-    final core::Set<core::List<core::int>?> #t164 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t164.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t164.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t164;
-  core::Map<core::String, core::List<core::int>?> map42 = block {
-    final core::Map<core::String, core::List<core::int>?> #t165 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t166 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t165.{core::Map::[]=}{Invariant}(#t166.{core::MapEntry::key}{core::String}, #t166.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t165.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t165;
-  core::List<core::int> list50 = block {
-    final core::List<core::int> #t167 = <core::int>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t167.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
-  } =>#t167;
-  core::Set<core::int?> set50 = block {
-    final core::Set<core::int?> #t168 = col::LinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t168.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
-    #t168.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t168;
-  core::Map<core::String, core::int?> map50 = block {
-    final core::Map<core::String, core::int?> #t169 = <core::String, core::int?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::int?> #t170 in <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>})
-        #t169.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::String}, #t170.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-    #t169.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t169;
-  core::List<core::int> list51 = block {
-    final core::List<core::int> #t171 = <core::int>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t171.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int> #t172 = col::LinkedHashSet::•<core::int>();
-      } =>#t172){(core::Iterable<core::int>) → void};
-  } =>#t171;
-  core::Set<core::int?> set51 = block {
-    final core::Set<core::int?> #t173 = col::LinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t173.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int?> #t174 = col::LinkedHashSet::•<core::int?>();
-      } =>#t174){(core::Iterable<core::int?>) → void};
-    #t173.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t173;
-  core::List<core::int> list52 = block {
-    final core::List<core::int> #t175 = <core::int>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t175.{core::List::addAll}{Invariant}(<core::int>[]){(core::Iterable<core::int>) → void};
-  } =>#t175;
-  core::Set<core::int?> set52 = block {
-    final core::Set<core::int?> #t176 = col::LinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t176.{core::Set::addAll}{Invariant}(<core::int?>[]){(core::Iterable<core::int?>) → void};
-    #t176.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t176;
-  core::List<core::List<core::int>> list60 = block {
-    final core::List<core::List<core::int>> #t177 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t177.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t177;
-  core::Set<core::List<core::int>?> set60 = block {
-    final core::Set<core::List<core::int>?> #t178 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t178.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t178.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t178;
-  core::Map<core::String, core::List<core::int>?> map60 = block {
-    final core::Map<core::String, core::List<core::int>?> #t179 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t180 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-        #t179.{core::Map::[]=}{Invariant}(#t180.{core::MapEntry::key}{core::String}, #t180.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t179;
-  core::List<core::List<core::int>> list61 = block {
-    final core::List<core::List<core::int>> #t181 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t181.{core::List::addAll}{Invariant}(<core::List<core::int>>[<core::int>[]]){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t181;
-  core::Set<core::List<core::int>?> set61 = block {
-    final core::Set<core::List<core::int>?> #t182 = col::LinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t182.{core::Set::addAll}{Invariant}(<core::List<core::int>?>[<core::int>[]]){(core::Iterable<core::List<core::int>?>) → void};
-    #t182.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t182;
-  core::Map<core::String, core::List<core::int>?> map61 = block {
-    final core::Map<core::String, core::List<core::int>?> #t183 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>?> #t184 in <core::String, core::List<core::int>?>{"bar": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>})
-          #t183.{core::Map::[]=}{Invariant}(#t184.{core::MapEntry::key}{core::String}, #t184.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-    #t183.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t183;
-  core::List<core::List<core::int>> list70 = block {
-    final core::List<core::List<core::int>> #t185 = <core::List<core::int>>[];
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t185.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t185;
   core::Set<core::List<core::int>?> set70 = block {
-    final core::Set<core::List<core::int>?> #t186 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t160 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t186.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t186.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t186;
+      #t160.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t160.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t160;
   core::Map<core::String, core::List<core::int>?> map70 = block {
-    final core::Map<core::String, core::List<core::int>?> #t187 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t161 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t187.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
-    #t187.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t187;
+      #t161.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
+    #t161.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t161;
   core::List<core::List<core::int>> list71 = block {
-    final core::List<core::List<core::int>> #t188 = <core::List<core::int>>[];
+    final core::List<core::List<core::int>> #t162 = <core::List<core::int>>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t188.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
-  } =>#t188;
+        #t162.{core::List::add}{Invariant}(<core::int>[]){(core::List<core::int>) → void};
+  } =>#t162;
   core::Set<core::List<core::int>?> set71 = block {
-    final core::Set<core::List<core::int>?> #t189 = col::LinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t163 = col::LinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t189.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
-    #t189.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t189;
+        #t163.{core::Set::add}{Invariant}(<core::int>[]){(core::List<core::int>?) → core::bool};
+    #t163.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t163;
   core::Map<core::String, core::List<core::int>?> map71 = block {
-    final core::Map<core::String, core::List<core::int>?> #t190 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t164 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t190.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
-    #t190.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t190;
+        #t164.{core::Map::[]=}{Invariant}("bar", <core::int>[]){(core::String, core::List<core::int>?) → void};
+    #t164.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t164;
   core::List<core::num> list80 = block {
-    final core::List<core::num> #t191 = <core::num>[];
+    final core::List<core::num> #t165 = <core::num>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t191.{core::List::add}{Invariant}(42){(core::num) → void};
+        #t165.{core::List::add}{Invariant}(42){(core::num) → void};
       else
-        #t191.{core::List::add}{Invariant}(3.14){(core::num) → void};
-  } =>#t191;
+        #t165.{core::List::add}{Invariant}(3.14){(core::num) → void};
+  } =>#t165;
   core::Set<core::num?> set80 = block {
-    final core::Set<core::num?> #t192 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t166 = col::LinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t192.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
+        #t166.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
       else
-        #t192.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t192.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t192;
+        #t166.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t166.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t166;
   core::Map<core::String, core::num?> map80 = block {
-    final core::Map<core::String, core::num?> #t193 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t167 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t193.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
+        #t167.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
       else
-        #t193.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t193.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t193;
+        #t167.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t167.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t167;
   core::List<core::num> list81 = block {
-    final core::List<core::num> #t194 = <core::num>[];
+    final core::List<core::num> #t168 = <core::num>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t194.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
+        #t168.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
       else
-        #t194.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t194;
+        #t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t168;
   core::Set<core::num?> set81 = block {
-    final core::Set<core::num?> #t195 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t169 = col::LinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t195.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+        #t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
       else
-        #t195.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
-    #t195.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t195;
+        #t169.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
+    #t169.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t169;
   core::Map<core::String, core::num?> map81 = block {
-    final core::Map<core::String, core::num?> #t196 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t170 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t197 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-          #t196.{core::Map::[]=}{Invariant}(#t197.{core::MapEntry::key}{core::String}, #t197.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+        #t170.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String, core::num?>) → void};
       else
-        for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t198 in mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-          #t196.{core::Map::[]=}{Invariant}(#t198.{core::MapEntry::key}{core::String}, #t198.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-    #t196.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t196;
+        #t170.{core::Map::addAll}{Invariant}(mapStringDouble){(core::Map<core::String, core::num?>) → void};
+    #t170.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t170;
   core::List<dynamic> list82 = block {
-    final core::List<dynamic> #t199 = <dynamic>[];
+    final core::List<dynamic> #t171 = <dynamic>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t199.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+        #t171.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
       else
-        #t199.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-  } =>#t199;
+        #t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+  } =>#t171;
   core::Set<dynamic> set82 = block {
-    final core::Set<dynamic> #t200 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t172 = col::LinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t200.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+        #t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
       else
-        #t200.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t200.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t200;
+        #t172.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t172.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t172;
   core::Map<dynamic, dynamic> map82 = block {
-    final core::Map<dynamic, dynamic> #t201 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t173 = <dynamic, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t202 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t202.{core::MapEntry::key}{dynamic}, #t202.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+        #t173.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<dynamic, dynamic>) → void};
       else
-        for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t203 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-          #t201.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}{dynamic}, #t203.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    #t201.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) → void};
-  } =>#t201;
+        #t173.{core::Map::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t173.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) → void};
+  } =>#t173;
   core::List<core::num> list83 = block {
-    final core::List<core::num> #t204 = <core::num>[];
+    final core::List<core::num> #t174 = <core::num>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t204.{core::List::add}{Invariant}(42){(core::num) → void};
+        #t174.{core::List::add}{Invariant}(42){(core::num) → void};
       else
-        #t204.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t204;
+        #t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t174;
   core::Set<core::num?> set83 = block {
-    final core::Set<core::num?> #t205 = col::LinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t175 = col::LinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t205.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+        #t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
       else
-        #t205.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t205.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t205;
+        #t175.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t175.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t175;
   core::Map<core::String, core::num?> map83 = block {
-    final core::Map<core::String, core::num?> #t206 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t176 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        for (final has-declared-initializer core::MapEntry<core::String, core::num?> #t207 in mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>})
-          #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}{core::String}, #t207.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
+        #t176.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String, core::num?>) → void};
       else
-        #t206.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t206.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t206;
+        #t176.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t176.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t176;
   core::List<core::int> list90 = block {
-    final core::List<core::int> #t208 = <core::int>[];
+    final core::List<core::int> #t177 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t208.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t208;
+      #t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t177;
   core::Set<core::int?> set90 = block {
-    final core::Set<core::int?> #t209 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t178 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t209.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t209.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t209;
+      #t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t178.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t178;
   core::Map<core::String, core::int?> map90 = block {
-    final core::Map<core::String, core::int?> #t210 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t179 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t210.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t210.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t210;
+      #t179.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t179;
   core::List<core::int> list91 = block {
-    final core::List<core::int> #t211 = <core::int>[];
+    final core::List<core::int> #t180 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t212 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int #t213 = #t212 as{TypeError,ForNonNullableByDefault} core::int;
-        #t211.{core::List::add}{Invariant}(#t213){(core::int) → void};
+      for (final has-declared-initializer dynamic #t181 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
+        #t180.{core::List::add}{Invariant}(#t182){(core::int) → void};
       }
-  } =>#t211;
+  } =>#t180;
   core::Set<core::int?> set91 = block {
-    final core::Set<core::int?> #t214 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t183 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t215 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-        final core::int? #t216 = #t215 as{TypeError,ForNonNullableByDefault} core::int?;
-        #t214.{core::Set::add}{Invariant}(#t216){(core::int?) → core::bool};
+      for (final has-declared-initializer dynamic #t184 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+        final core::int? #t185 = #t184 as{TypeError,ForNonNullableByDefault} core::int?;
+        #t183.{core::Set::add}{Invariant}(#t185){(core::int?) → core::bool};
       }
-    #t214.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t214;
+    #t183.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t183;
   core::Map<core::String, core::int?> map91 = block {
-    final core::Map<core::String, core::int?> #t217 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t186 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t218 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
-        final core::String #t219 = #t218.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
-        final core::int? #t220 = #t218.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-        #t217.{core::Map::[]=}{Invariant}(#t219, #t220){(core::String, core::int?) → void};
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t187 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}) {
+        final core::String #t188 = #t187.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
+        final core::int? #t189 = #t187.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+        #t186.{core::Map::[]=}{Invariant}(#t188, #t189){(core::String, core::int?) → void};
       }
-    #t217.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t217;
+    #t186.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t186;
   core::List<core::int> list100 = block {
-    final core::List<core::int> #t221 = <core::int>[];
-    for (final core::int #t222 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t221.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t221;
+    final core::List<core::int> #t190 = <core::int>[];
+    for (final core::int #t191 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t190.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t190;
   core::Set<core::int> set100 = block {
-    final core::Set<core::int> #t223 = col::LinkedHashSet::•<core::int>();
-    for (final core::int #t224 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t223.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t223;
+    final core::Set<core::int> #t192 = col::LinkedHashSet::•<core::int>();
+    for (final core::int #t193 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t192.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t192;
   core::Map<core::String, core::int> map100 = block {
-    final core::Map<core::String, core::int> #t225 = <core::String, core::int>{};
-    for (final core::int #t226 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t225.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int) → void};
-  } =>#t225;
+    final core::Map<core::String, core::int> #t194 = <core::String, core::int>{};
+    for (final core::int #t195 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t194.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int) → void};
+  } =>#t194;
   core::List<core::int> list110 = block {
-    final core::List<core::int> #t227 = <core::int>[];
+    final core::List<core::int> #t196 = <core::int>[];
     for (core::int i in <core::int>[1, 2, 3])
-      #t227.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t227;
+      #t196.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t196;
   core::Set<core::int?> set110 = block {
-    final core::Set<core::int?> #t228 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t197 = col::LinkedHashSet::•<core::int?>();
     for (core::int i in <core::int>[1, 2, 3])
-      #t228.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
-    #t228.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t228;
+      #t197.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+    #t197.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t197;
   core::Map<core::String, core::int?> map110 = block {
-    final core::Map<core::String, core::int?> #t229 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t198 = <core::String, core::int?>{};
     for (core::int i in <core::int>[1, 2, 3])
-      #t229.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
-    #t229.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t229;
+      #t198.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+    #t198.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t198;
   core::List<core::int> list120 = block {
-    final core::List<core::int> #t230 = <core::int>[];
+    final core::List<core::int> #t199 = <core::int>[];
     for (dynamic i in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t230.{core::List::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t230;
+      #t199.{core::List::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t199;
   core::Set<core::int?> set120 = block {
-    final core::Set<core::int?> #t231 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t200 = col::LinkedHashSet::•<core::int?>();
     for (dynamic i in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t231.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t231.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t231;
+      #t200.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t200.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t200;
   core::Map<core::String, core::int?> map120 = block {
-    final core::Map<core::String, core::int?> #t232 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t201 = <core::String, core::int?>{};
     for (dynamic i in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t232.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t232.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t232;
+      #t201.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t201.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t201;
   core::List<core::int> list130 = block {
-    final core::List<core::int> #t233 = <core::int>[];
+    final core::List<core::int> #t202 = <core::int>[];
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t233.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t233;
+      #t202.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t202;
   core::Set<core::int> set130 = block {
-    final core::Set<core::int> #t234 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t203 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t234.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
-  } =>#t234;
+      #t203.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
+  } =>#t203;
   core::Map<core::int, core::int> map130 = block {
-    final core::Map<core::int, core::int> #t235 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t204 = <core::int, core::int>{};
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t235.{core::Map::[]=}{Invariant}(i, i){(core::int, core::int) → void};
-  } =>#t235;
+      #t204.{core::Map::[]=}{Invariant}(i, i){(core::int, core::int) → void};
+  } =>#t204;
 }
 static method testForElementErrors(core::Map<core::int, core::int> map, core::List<core::int> list) → dynamic async /* futureValueType= dynamic */ {
   block {
-    final core::List<core::int> #t236 = <core::int>[];
+    final core::List<core::int> #t205 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t236.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t205.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t236;
+  } =>#t205;
   block {
-    final core::Set<core::int?> #t237 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t206 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t237.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:211:46: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:211:46: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
                                              ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t237.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t237;
+    #t206.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t206;
   block {
-    final core::Map<core::int, core::int?> #t238 = <core::int, core::int?>{};
+    final core::Map<core::int, core::int?> #t207 = <core::int, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:51: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:51: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                   ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:58: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                          ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int, core::int?) → void};
-    #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                                 ^" in "baz" as{TypeError,ForNonNullableByDefault} core::int, null){(core::int, core::int?) → void};
-  } =>#t238;
+  } =>#t207;
   block {
-    final core::List<core::int> #t239 = <core::int>[];
+    final core::List<core::int> #t208 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t239.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t208.{core::List::addAll}{Invariant}(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
                                                 ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int]){(core::Iterable<core::int>) → void};
-  } =>#t239;
+  } =>#t208;
   block {
-    final core::Set<core::int?> #t240 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t209 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t240.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t209.{core::Set::addAll}{Invariant}(<core::int?>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
                                                  ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?]){(core::Iterable<core::int?>) → void};
-    #t240.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t240;
+    #t209.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t209;
   block {
-    final core::Map<core::int, core::int?> #t241 = <core::int, core::int?>{};
+    final core::Map<core::int, core::int?> #t210 = <core::int, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<core::int, core::int?> #t242 in <core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:55: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t210.{core::Map::addAll}{Invariant}(<core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:55: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                       ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int: invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:62: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int?>>})
-        #t241.{core::Map::[]=}{Invariant}(#t242.{core::MapEntry::key}{core::int}, #t242.{core::MapEntry::value}{core::int?}){(core::int, core::int?) → void};
-    #t241.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:70: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+                                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}){(core::Map<core::int, core::int?>) → void};
+    #t210.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:70: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                                      ^" in "baz" as{TypeError,ForNonNullableByDefault} core::int, null){(core::int, core::int?) → void};
-  } =>#t241;
+  } =>#t210;
   block {
-    final core::List<core::int> #t243 = <core::int>[];
+    final core::List<core::int> #t211 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t243.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t211.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
                                                ^"){(core::int) → void};
-  } =>#t243;
+  } =>#t211;
   block {
-    final core::Set<core::int?> #t244 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t212 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t244.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:217:49: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:217:49: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
                                                 ^"){(core::int?) → core::bool};
-    #t244.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t244;
+    #t212.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t212;
   <core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:218:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
@@ -1829,66 +1797,66 @@
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
                                                      ^": null};
   block {
-    final core::List<core::String> #t245 = <core::String>[];
+    final core::List<core::String> #t213 = <core::String>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
       else
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                                      ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t245;
+  } =>#t213;
   block {
-    final core::Set<core::String?> #t246 = col::LinkedHashSet::•<core::String?>();
+    final core::Set<core::String?> #t214 = col::LinkedHashSet::•<core::String?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:63: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:63: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
       else
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:71: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:71: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                                       ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
-    #t246.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
-  } =>#t246;
+    #t214.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
+  } =>#t214;
   block {
-    final core::Map<core::String, core::String?> #t247 = <core::String, core::String?>{};
+    final core::Map<core::String, core::String?> #t215 = <core::String, core::String?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:78: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:78: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String, String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
       else
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:93: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:93: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String, String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                                             ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
-    #t247.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
-  } =>#t247;
+    #t215.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
+  } =>#t215;
   block {
-    final core::List<core::int> #t248 = <core::int>[];
+    final core::List<core::int> #t216 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t248.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t216.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
                                                              ^"){(core::int) → void};
       else
-        #t248.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t248;
+        #t216.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t216;
   block {
-    final core::Set<core::int?> #t249 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t217 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t249.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:223:63: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:223:63: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
                                                               ^"){(core::int?) → core::bool};
       else
-        #t249.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t249.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t249;
+        #t217.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t217.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t217;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:224:71: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
@@ -1897,28 +1865,28 @@
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
                                                                       ^": null};
   block {
-    final core::List<core::int> #t250 = <core::int>[];
+    final core::List<core::int> #t218 = <core::int>[];
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t250.{core::List::add}{Invariant}(42){(core::int) → void};
+        #t218.{core::List::add}{Invariant}(42){(core::int) → void};
       else
-        #t250.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t218.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
                                                                      ^"){(core::int) → void};
-  } =>#t250;
+  } =>#t218;
   block {
-    final core::Set<core::int?> #t251 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t219 = col::LinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t251.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+        #t219.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
       else
-        #t251.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:226:71: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t219.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:226:71: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
                                                                       ^"){(core::int?) → core::bool};
-    #t251.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t251;
+    #t219.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t219;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:227:86: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
@@ -1928,218 +1896,218 @@
                                                                                      ^": null};
   final core::int i = 0;
   block {
-    final core::List<core::int> #t252 = <core::int>[];
-    for (final core::int #t253 in <core::int>[1]) {
+    final core::List<core::int> #t220 = <core::int>[];
+    for (final core::int #t221 in <core::int>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:230:14: Error: Can't assign to the final variable 'i'.
   <int>[for (i in <int>[1]) i];
              ^";
-      #t252.{core::List::add}{Invariant}(i){(core::int) → void};
+      #t220.{core::List::add}{Invariant}(i){(core::int) → void};
     }
-  } =>#t252;
+  } =>#t220;
   block {
-    final core::Set<core::int?> #t254 = col::LinkedHashSet::•<core::int?>();
-    for (final core::int #t255 in <core::int>[1]) {
+    final core::Set<core::int?> #t222 = col::LinkedHashSet::•<core::int?>();
+    for (final core::int #t223 in <core::int>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:231:15: Error: Can't assign to the final variable 'i'.
   <int?>{for (i in <int>[1]) i, null};
               ^";
-      #t254.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+      #t222.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
     }
-    #t254.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t254;
+    #t222.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t222;
   block {
-    final core::Map<core::String, core::int?> #t256 = <core::String, core::int?>{};
-    for (final core::int #t257 in <core::int>[1]) {
+    final core::Map<core::String, core::int?> #t224 = <core::String, core::int?>{};
+    for (final core::int #t225 in <core::int>[1]) {
       invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:232:23: Error: Can't assign to the final variable 'i'.
   <String, int?>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
                       ^";
-      #t256.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+      #t224.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
     }
-    #t256.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t256;
+    #t224.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t224;
   core::List<dynamic> list10 = block {
-    final core::List<dynamic> #t258 = <dynamic>[];
+    final core::List<dynamic> #t226 = <dynamic>[];
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:234:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var list10 = [for (var i in \"not iterable\") i];
                               ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t258.{core::List::add}{Invariant}(i){(dynamic) → void};
-  } =>#t258;
+      #t226.{core::List::add}{Invariant}(i){(dynamic) → void};
+  } =>#t226;
   core::Set<dynamic> set10 = block {
-    final core::Set<dynamic> #t259 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t227 = col::LinkedHashSet::•<dynamic>();
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:235:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var set10 = {for (var i in \"not iterable\") i, null};
                              ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t259.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
-    #t259.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t259;
+      #t227.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
+    #t227.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t227;
   core::Map<core::String, dynamic> map10 = block {
-    final core::Map<core::String, dynamic> #t260 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t228 = <core::String, dynamic>{};
     for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:236:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
   var map10 = {for (var i in \"not iterable\") \"bar\": i, \"baz\": null};
                              ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>)
-      #t260.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
-    #t260.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t260;
+      #t228.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
+    #t228.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t228;
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t261 = <core::int>[];
+    final core::List<core::int> #t229 = <core::int>[];
     for (core::int i in <core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:237:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:237:39: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
                                       ^" in "int" as{TypeError,ForNonNullableByDefault} core::int])
-      #t261.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t261;
+      #t229.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t229;
   core::Set<core::int?> set20 = block {
-    final core::Set<core::int?> #t262 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t230 = col::LinkedHashSet::•<core::int?>();
     for (core::int i in <core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:238:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                               ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:238:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
                                      ^" in "int" as{TypeError,ForNonNullableByDefault} core::int])
-      #t262.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
-    #t262.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t262;
+      #t230.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+    #t230.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t230;
   core::Map<core::String, core::int?> map20 = block {
-    final core::Map<core::String, core::int?> #t263 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t231 = <core::String, core::int?>{};
     for (core::int i in <core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:239:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                               ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:239:38: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
                                      ^" in "int" as{TypeError,ForNonNullableByDefault} core::int])
-      #t263.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
-    #t263.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t263;
+      #t231.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+    #t231.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t231;
   core::List<dynamic> list30 = block {
-    final core::List<dynamic> #t264 = <dynamic>[];
+    final core::List<dynamic> #t232 = <dynamic>[];
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:240:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var list30 = [await for (var i in \"not stream\") i];
                                     ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>)
-      #t264.{core::List::add}{Invariant}(i){(dynamic) → void};
-  } =>#t264;
+      #t232.{core::List::add}{Invariant}(i){(dynamic) → void};
+  } =>#t232;
   core::Set<dynamic> set30 = block {
-    final core::Set<dynamic> #t265 = col::LinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t233 = col::LinkedHashSet::•<dynamic>();
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:241:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var set30 = {await for (var i in \"not stream\") i, null};
                                    ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>)
-      #t265.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
-    #t265.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t265;
+      #t233.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
+    #t233.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t233;
   core::Map<core::String, dynamic> map30 = block {
-    final core::Map<core::String, dynamic> #t266 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t234 = <core::String, dynamic>{};
     await for (dynamic i in invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:242:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
   var map30 = {await for (var i in \"not stream\") \"bar\": i, \"baz\": null};
                                    ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>)
-      #t266.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
-    #t266.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t266;
+      #t234.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
+    #t234.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t234;
   core::List<core::int> list40 = block {
-    final core::List<core::int> #t267 = <core::int>[];
+    final core::List<core::int> #t235 = <core::int>[];
     await for (core::int i in asy::Stream::fromIterable<core::int>(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:243:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                          ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:243:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
                                                                 ^" in "int" as{TypeError,ForNonNullableByDefault} core::int]))
-      #t267.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t267;
+      #t235.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t235;
   core::Set<core::int?> set40 = block {
-    final core::Set<core::int?> #t268 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t236 = col::LinkedHashSet::•<core::int?>();
     await for (core::int i in asy::Stream::fromIterable<core::int>(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:244:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                         ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:244:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
                                                                ^" in "int" as{TypeError,ForNonNullableByDefault} core::int]))
-      #t268.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
-    #t268.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t268;
+      #t236.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+    #t236.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t236;
   core::Map<core::String, core::int?> map40 = block {
-    final core::Map<core::String, core::int?> #t269 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t237 = <core::String, core::int?>{};
     await for (core::int i in asy::Stream::fromIterable<core::int>(<core::int>[invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:245:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                         ^" in "not" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:245:64: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
                                                                ^" in "int" as{TypeError,ForNonNullableByDefault} core::int]))
-      #t269.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
-    #t269.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t269;
+      #t237.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+    #t237.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t237;
   core::List<core::int> list50 = block {
-    final core::List<core::int> #t270 = <core::int>[];
+    final core::List<core::int> #t238 = <core::int>[];
     for (; ; )
-      #t270.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t270;
+      #t238.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t238;
   core::Set<core::int?> set50 = block {
-    final core::Set<core::int?> #t271 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t239 = col::LinkedHashSet::•<core::int?>();
     for (; ; )
-      #t271.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t271.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t271;
+      #t239.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t239.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t239;
   core::Map<core::String, core::int?> map50 = block {
-    final core::Map<core::String, core::int?> #t272 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t240 = <core::String, core::int?>{};
     for (; ; )
-      #t272.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t272.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t272;
+      #t240.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t240.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t240;
   core::List<core::int> list60 = block {
-    final core::List<core::int> #t273 = <core::int>[];
+    final core::List<core::int> #t241 = <core::int>[];
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:249:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var list60 = [for (; \"not bool\";) 42];
                        ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t273.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t273;
+      #t241.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t241;
   core::Set<core::int?> set60 = block {
-    final core::Set<core::int?> #t274 = col::LinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t242 = col::LinkedHashSet::•<core::int?>();
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:250:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var set60 = {for (; \"not bool\";) 42, null};
                       ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t274.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t274.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t274;
+      #t242.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t242.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t242;
   core::Map<core::String, core::int?> map60 = block {
-    final core::Map<core::String, core::int?> #t275 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t243 = <core::String, core::int?>{};
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:251:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
                       ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t275.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t275.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t275;
+      #t243.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t243.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t243;
 }
 static method testForElementErrorsNotAsync(asy::Stream<core::int> stream) → dynamic {
   block {
-    final core::List<core::int> #t276 = <core::int>[];
+    final core::List<core::int> #t244 = <core::int>[];
     await for (core::int i in stream)
-      #t276.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t276;
+      #t244.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t244;
   block {
-    final core::Set<core::int> #t277 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t245 = col::LinkedHashSet::•<core::int>();
     await for (core::int i in stream)
-      #t277.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
-  } =>#t277;
+      #t245.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
+  } =>#t245;
   block {
-    final core::Map<core::String, core::int> #t278 = <core::String, core::int>{};
+    final core::Map<core::String, core::int> #t246 = <core::String, core::int>{};
     await for (core::int i in stream)
-      #t278.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int) → void};
-  } =>#t278;
+      #t246.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int) → void};
+  } =>#t246;
 }
 static method testPromotion(self::A a) → dynamic {
   core::List<core::int> list10 = block {
-    final core::List<core::int> #t279 = <core::int>[];
+    final core::List<core::int> #t247 = <core::int>[];
     if(a is{ForNonNullableByDefault} self::B)
-      #t279.{core::List::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → void};
-  } =>#t279;
+      #t247.{core::List::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → void};
+  } =>#t247;
   core::Set<core::int> set10 = block {
-    final core::Set<core::int> #t280 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t248 = col::LinkedHashSet::•<core::int>();
     if(a is{ForNonNullableByDefault} self::B)
-      #t280.{core::Set::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → core::bool};
-  } =>#t280;
+      #t248.{core::Set::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → core::bool};
+  } =>#t248;
   core::Map<core::int, core::int> map10 = block {
-    final core::Map<core::int, core::int> #t281 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t249 = <core::int, core::int>{};
     if(a is{ForNonNullableByDefault} self::B)
-      #t281.{core::Map::[]=}{Invariant}(a{self::B}.{self::B::foo}{core::int}, a{self::B}.{self::B::foo}{core::int}){(core::int, core::int) → void};
-  } =>#t281;
+      #t249.{core::Map::[]=}{Invariant}(a{self::B}.{self::B::foo}{core::int}, a{self::B}.{self::B::foo}{core::int}){(core::int, core::int) → void};
+  } =>#t249;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.transformed.expect
index 3cd0d2b..e90b8eb 100644
--- a/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/control_flow_collection_inference2.dart.weak.transformed.expect
@@ -505,577 +505,502 @@
   } =>#t11;
   core::Map<core::String, core::int?> map20 = block {
     final core::Map<core::String, core::int?> #t12 = <core::String, core::int?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int?> #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-      }
-    }
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t12.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
     #t12.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
   } =>#t12;
   core::List<dynamic> list21 = block {
-    final core::List<dynamic> #t14 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t13 = core::_GrowableList::•<dynamic>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t14.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-  } =>#t14;
+      #t13.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+  } =>#t13;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t15 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t14 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t15.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-    #t15.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t15;
+      #t14.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+    #t14.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t14;
   core::Map<core::String, dynamic> map21 = block {
-    final core::Map<core::String, dynamic> #t16 = <core::String, dynamic>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, dynamic>> :sync-for-iterator = <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, dynamic> #t17 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, dynamic>};
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{core::String}, #t17.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-      }
-    }
-    #t16.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t16;
+    final core::Map<core::String, dynamic> #t15 = <core::String, dynamic>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t15.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t15.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t15;
   core::List<core::List<core::int>> list22 = block {
-    final core::List<core::List<core::int>> #t18 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t16 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t18.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t18;
+      #t16.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t16;
   core::Set<core::List<core::int>?> set22 = block {
-    final core::Set<core::List<core::int>?> #t19 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t17 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t19.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
-    #t19.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t19;
+      #t17.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
+    #t17.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t17;
   core::Map<core::String, core::List<core::int>?> map22 = block {
-    final core::Map<core::String, core::List<core::int>?> #t20 = <core::String, core::List<core::int>?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::List<core::int>?> #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::String}, #t21.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-      }
-    }
-    #t20.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t20;
+    final core::Map<core::String, core::List<core::int>?> #t18 = <core::String, core::List<core::int>?>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t18.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t18.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t18;
   core::List<core::int> list30 = block {
-    final core::List<core::int> #t22 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t19 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t22.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
-  } =>#t22;
+        #t19.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
+  } =>#t19;
   core::Set<core::int?> set30 = block {
-    final core::Set<core::int?> #t23 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t20 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t23.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
-    #t23.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t23;
+        #t20.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
+    #t20.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t20;
   core::Map<core::String, core::int?> map30 = block {
-    final core::Map<core::String, core::int?> #t24 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t21 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::int?> #t25 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-          #t24.{core::Map::[]=}{Invariant}(#t25.{core::MapEntry::key}{core::String}, #t25.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-        }
-      }
-    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t24;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t21.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t21.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t21;
   core::List<dynamic> list31 = block {
-    final core::List<dynamic> #t26 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t22 = core::_GrowableList::•<dynamic>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t26.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-  } =>#t26;
+        #t22.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+  } =>#t22;
   core::Set<dynamic> set31 = block {
-    final core::Set<dynamic> #t27 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t23 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t27.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-    #t27.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t27;
+        #t23.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+    #t23.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t23;
   core::Map<core::String, dynamic> map31 = block {
-    final core::Map<core::String, dynamic> #t28 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t24 = <core::String, dynamic>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, dynamic>> :sync-for-iterator = <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, dynamic>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, dynamic> #t29 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, dynamic>};
-          #t28.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}{core::String}, #t29.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-        }
-      }
-    #t28.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t28;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t24.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t24.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t24;
   core::List<core::List<core::int>> list33 = block {
-    final core::List<core::List<core::int>> #t30 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t25 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t30.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t30;
+        #t25.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t25;
   core::Set<core::List<core::int>?> set33 = block {
-    final core::Set<core::List<core::int>?> #t31 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t26 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t31.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
-    #t31.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t31;
+        #t26.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
+    #t26.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t26;
   core::Map<core::String, core::List<core::int>?> map33 = block {
-    final core::Map<core::String, core::List<core::int>?> #t32 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t27 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::List<core::int>?> #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-          #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-        }
-      }
-    #t32.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t32;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t27.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t27.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t27;
   core::List<core::List<core::int>> list40 = block {
-    final core::List<core::List<core::int>> #t34 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t28 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t34.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t34;
+      #t28.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t28;
   core::Set<core::List<core::int>?> set40 = block {
-    final core::Set<core::List<core::int>?> #t35 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t29 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t35.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t35;
+      #t29.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t29.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t29;
   core::Map<core::String, core::List<core::int>?> map40 = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:39:35: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   Map<String, List<int>?> map40 = {if (oracle(\"foo\")) ...{\"bar\", []}, \"baz\": null};
                                   ^";
   core::List<core::List<core::int>> list41 = block {
-    final core::List<core::List<core::int>> #t36 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t30 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t36.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>> #t37 = new col::_CompactLinkedHashSet::•<core::List<core::int>>();
-        #t37.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → core::bool};
-      } =>#t37){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t36;
+      #t30.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>> #t31 = new col::_CompactLinkedHashSet::•<core::List<core::int>>();
+        #t31.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → core::bool};
+      } =>#t31){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t30;
   core::Set<core::List<core::int>?> set41 = block {
-    final core::Set<core::List<core::int>?> #t38 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t32 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t38.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>?> #t39 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
-        #t39.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
-      } =>#t39){(core::Iterable<core::List<core::int>?>) → void};
-    #t38.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t38;
+      #t32.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>?> #t33 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+        #t33.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
+      } =>#t33){(core::Iterable<core::List<core::int>?>) → void};
+    #t32.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t32;
   core::List<core::List<core::int>> list42 = block {
-    final core::List<core::List<core::int>> #t40 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t34 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t40.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t40;
+        #t34.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t34;
   core::Set<core::List<core::int>?> set42 = block {
-    final core::Set<core::List<core::int>?> #t41 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t35 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t41.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t41.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t41;
+        #t35.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t35.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t35;
   core::Map<core::String, core::List<core::int>?> map42 = block {
-    final core::Map<core::String, core::List<core::int>?> #t42 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t36 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::List<core::int>?> #t43 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-          #t42.{core::Map::[]=}{Invariant}(#t43.{core::MapEntry::key}{core::String}, #t43.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-        }
-      }
-    #t42.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t42;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t36.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t36.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t36;
   core::List<core::int> list50 = block {
+    final core::List<core::int> #t37 = core::_GrowableList::•<core::int>(0);
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t37.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
+  } =>#t37;
+  core::Set<core::int?> set50 = block {
+    final core::Set<core::int?> #t38 = new col::_CompactLinkedHashSet::•<core::int?>();
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t38.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
+    #t38.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t38;
+  core::Map<core::String, core::int?> map50 = block {
+    final core::Map<core::String, core::int?> #t39 = <core::String, core::int?>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t39.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
+    #t39.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t39;
+  core::List<core::int> list51 = block {
+    final core::List<core::int> #t40 = core::_GrowableList::•<core::int>(0);
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t40.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int> #t41 = new col::_CompactLinkedHashSet::•<core::int>();
+      } =>#t41){(core::Iterable<core::int>) → void};
+  } =>#t40;
+  core::Set<core::int?> set51 = block {
+    final core::Set<core::int?> #t42 = new col::_CompactLinkedHashSet::•<core::int?>();
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t42.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int?> #t43 = new col::_CompactLinkedHashSet::•<core::int?>();
+      } =>#t43){(core::Iterable<core::int?>) → void};
+    #t42.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t42;
+  core::List<core::int> list52 = block {
     final core::List<core::int> #t44 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t44.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t44.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
   } =>#t44;
-  core::Set<core::int?> set50 = block {
+  core::Set<core::int?> set52 = block {
     final core::Set<core::int?> #t45 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t45.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t45.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
     #t45.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
   } =>#t45;
-  core::Map<core::String, core::int?> map50 = block {
+  core::Map<core::String, core::int?> map52 = block {
     final core::Map<core::String, core::int?> #t46 = <core::String, core::int?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int?> #t47 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-        #t46.{core::Map::[]=}{Invariant}(#t47.{core::MapEntry::key}{core::String}, #t47.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-      }
-    }
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t46.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
     #t46.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
   } =>#t46;
-  core::List<core::int> list51 = block {
-    final core::List<core::int> #t48 = core::_GrowableList::•<core::int>(0);
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t48.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int> #t49 = new col::_CompactLinkedHashSet::•<core::int>();
-      } =>#t49){(core::Iterable<core::int>) → void};
-  } =>#t48;
-  core::Set<core::int?> set51 = block {
-    final core::Set<core::int?> #t50 = new col::_CompactLinkedHashSet::•<core::int?>();
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t50.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int?> #t51 = new col::_CompactLinkedHashSet::•<core::int?>();
-      } =>#t51){(core::Iterable<core::int?>) → void};
-    #t50.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t50;
-  core::List<core::int> list52 = block {
-    final core::List<core::int> #t52 = core::_GrowableList::•<core::int>(0);
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t52.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
-  } =>#t52;
-  core::Set<core::int?> set52 = block {
-    final core::Set<core::int?> #t53 = new col::_CompactLinkedHashSet::•<core::int?>();
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t53.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
-    #t53.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t53;
-  core::Map<core::String, core::int?> map52 = block {
-    final core::Map<core::String, core::int?> #t54 = <core::String, core::int?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::int?> #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-          #t54.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::String}, #t55.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-        }
-      }
-    #t54.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t54;
   core::List<core::List<core::int>> list60 = block {
-    final core::List<core::List<core::int>> #t56 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t47 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t56.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t56;
+      #t47.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t47;
   core::Set<core::List<core::int>?> set60 = block {
-    final core::Set<core::List<core::int>?> #t57 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t48 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t57.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t57.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t57;
+      #t48.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t48.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t48;
   core::Map<core::String, core::List<core::int>?> map60 = block {
-    final core::Map<core::String, core::List<core::int>?> #t58 = <core::String, core::List<core::int>?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::List<core::int>?> #t59 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-        #t58.{core::Map::[]=}{Invariant}(#t59.{core::MapEntry::key}{core::String}, #t59.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-      }
-    }
-    #t58.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t58;
+    final core::Map<core::String, core::List<core::int>?> #t49 = <core::String, core::List<core::int>?>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t49.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t49.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t49;
   core::List<core::List<core::int>> list61 = block {
-    final core::List<core::List<core::int>> #t60 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t50 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t60.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t60;
+        #t50.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t50;
   core::Set<core::List<core::int>?> set61 = block {
-    final core::Set<core::List<core::int>?> #t61 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t51 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t61.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t61.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t61;
+        #t51.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t51.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t51;
   core::Map<core::String, core::List<core::int>?> map61 = block {
-    final core::Map<core::String, core::List<core::int>?> #t62 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t52 = <core::String, core::List<core::int>?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::List<core::int>?> #t63 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-          #t62.{core::Map::[]=}{Invariant}(#t63.{core::MapEntry::key}{core::String}, #t63.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-        }
-      }
-    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t62;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t52.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t52.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t52;
   core::List<core::List<core::int>> list70 = block {
-    final core::List<core::List<core::int>> #t64 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t53 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t64.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
-  } =>#t64;
+      #t53.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
+  } =>#t53;
   core::Set<core::List<core::int>?> set70 = block {
-    final core::Set<core::List<core::int>?> #t65 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t54 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t65.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
-    #t65.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t65;
+      #t54.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
+    #t54.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t54;
   core::List<core::List<core::int>> list71 = block {
-    final core::List<core::List<core::int>> #t66 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t55 = core::_GrowableList::•<core::List<core::int>>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t66.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
-  } =>#t66;
+        #t55.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
+  } =>#t55;
   core::Set<core::List<core::int>?> set71 = block {
-    final core::Set<core::List<core::int>?> #t67 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t56 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t67.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
-    #t67.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t67;
+        #t56.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
+    #t56.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t56;
   core::List<core::num> list80 = block {
-    final core::List<core::num> #t68 = core::_GrowableList::•<core::num>(0);
+    final core::List<core::num> #t57 = core::_GrowableList::•<core::num>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t68.{core::List::add}{Invariant}(42){(core::num) → void};
+      #t57.{core::List::add}{Invariant}(42){(core::num) → void};
     else
-      #t68.{core::List::add}{Invariant}(3.14){(core::num) → void};
-  } =>#t68;
+      #t57.{core::List::add}{Invariant}(3.14){(core::num) → void};
+  } =>#t57;
   core::Set<core::num?> set80 = block {
-    final core::Set<core::num?> #t69 = new col::_CompactLinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t58 = new col::_CompactLinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t69.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
+      #t58.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
     else
-      #t69.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t69.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t69;
+      #t58.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t58.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t58;
   core::Map<core::String, core::num?> map80 = block {
-    final core::Map<core::String, core::num?> #t70 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t59 = <core::String, core::num?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t70.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
+      #t59.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
     else
-      #t70.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t70.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t70;
+      #t59.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t59.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t59;
   core::List<core::num> list81 = block {
-    final core::List<core::num> #t71 = core::_GrowableList::•<core::num>(0);
+    final core::List<core::num> #t60 = core::_GrowableList::•<core::num>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t71.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
+      #t60.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
     else
-      #t71.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t71;
+      #t60.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t60;
   core::Set<core::num?> set81 = block {
-    final core::Set<core::num?> #t72 = new col::_CompactLinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t61 = new col::_CompactLinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t72.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+      #t61.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
     else
-      #t72.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
-    #t72.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t72;
+      #t61.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
+    #t61.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t61;
   core::Map<core::String, core::num?> map81 = block {
-    final core::Map<core::String, core::num?> #t73 = <core::String, core::num?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, core::num?>> :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::num?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::num?> #t74 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::num?>};
-        #t73.{core::Map::[]=}{Invariant}(#t74.{core::MapEntry::key}{core::String}, #t74.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-      }
-    }
-    else {
-      core::Iterator<core::MapEntry<core::String, core::num?>> :sync-for-iterator = mapToDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::num?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::num?> #t75 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::num?>};
-        #t73.{core::Map::[]=}{Invariant}(#t75.{core::MapEntry::key}{core::String}, #t75.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-      }
-    }
-    #t73.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t73;
+    final core::Map<core::String, core::num?> #t62 = <core::String, core::num?>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t62.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String, core::num?>) → void};
+    else
+      #t62.{core::Map::addAll}{Invariant}(mapToDouble){(core::Map<core::String, core::num?>) → void};
+    #t62.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t62;
   core::List<dynamic> list82 = block {
-    final core::List<dynamic> #t76 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t63 = core::_GrowableList::•<dynamic>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t76.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+      #t63.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
     else
-      #t76.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-  } =>#t76;
+      #t63.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+  } =>#t63;
   core::Set<dynamic> set82 = block {
-    final core::Set<dynamic> #t77 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t64 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t77.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+      #t64.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
     else
-      #t77.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t77.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t77;
+      #t64.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t64.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t64;
   core::Set<dynamic> map82 = block {
-    final core::Set<dynamic> #t78 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t65 = new col::_CompactLinkedHashSet::•<dynamic>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t78.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t65.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:71:38: Error: Unexpected type 'Map<String, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   var map82 = {if (oracle(\"foo\")) ...mapToInt else ...dynVar, null};
                                      ^"){(dynamic) → core::bool};
     else
-      #t78.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t78.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t78;
+      #t65.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t65.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t65;
   core::List<core::num> list83 = block {
-    final core::List<core::num> #t79 = core::_GrowableList::•<core::num>(0);
+    final core::List<core::num> #t66 = core::_GrowableList::•<core::num>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t79.{core::List::add}{Invariant}(42){(core::num) → void};
+      #t66.{core::List::add}{Invariant}(42){(core::num) → void};
     else
-      #t79.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t79;
+      #t66.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t66;
   core::Set<core::num?> set83 = block {
-    final core::Set<core::num?> #t80 = new col::_CompactLinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t67 = new col::_CompactLinkedHashSet::•<core::num?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t80.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+      #t67.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
     else
-      #t80.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t80.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t80;
+      #t67.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t67.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t67;
   core::Map<core::String, core::num?> map83 = block {
-    final core::Map<core::String, core::num?> #t81 = <core::String, core::num?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, core::num?>> :sync-for-iterator = mapToInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::num?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::num?> #t82 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::num?>};
-        #t81.{core::Map::[]=}{Invariant}(#t82.{core::MapEntry::key}{core::String}, #t82.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-      }
-    }
+    final core::Map<core::String, core::num?> #t68 = <core::String, core::num?>{};
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t68.{core::Map::addAll}{Invariant}(mapToInt){(core::Map<core::String, core::num?>) → void};
     else
-      #t81.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t81.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t81;
+      #t68.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t68.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t68;
   core::List<core::int> list90 = block {
-    final core::List<core::int> #t83 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t69 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t83.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t83;
+      #t69.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t69;
   core::Set<core::int?> set90 = block {
-    final core::Set<core::int?> #t84 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t70 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t84.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t84.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t84;
+      #t70.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t70.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t70;
   core::Map<core::String, core::int?> map90 = block {
-    final core::Map<core::String, core::int?> #t85 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t71 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t85.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t85.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t85;
+      #t71.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t71.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t71;
   core::List<core::int> list91 = block {
-    final core::List<core::int> #t86 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t72 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t87 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t88 = #t87 as{TypeError,ForNonNullableByDefault} core::int;
-          #t86.{core::List::add}{Invariant}(#t88){(core::int) → void};
+          final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
+          #t72.{core::List::add}{Invariant}(#t74){(core::int) → void};
         }
       }
     }
-  } =>#t86;
+  } =>#t72;
   core::Set<core::int?> set91 = block {
-    final core::Set<core::int?> #t89 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t75 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t90 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t76 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int? #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int?;
-          #t89.{core::Set::add}{Invariant}(#t91){(core::int?) → core::bool};
+          final core::int? #t77 = #t76 as{TypeError,ForNonNullableByDefault} core::int?;
+          #t75.{core::Set::add}{Invariant}(#t77){(core::int?) → core::bool};
         }
       }
     }
-    #t89.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t89;
+    #t75.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t75;
   core::Map<core::String, core::int?> map91 = block {
-    final core::Map<core::String, core::int?> #t92 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t78 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
       core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t93 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
+        final core::MapEntry<dynamic, dynamic> #t79 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
         {
-          final core::String #t94 = #t93.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
-          final core::int? #t95 = #t93.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-          #t92.{core::Map::[]=}{Invariant}(#t94, #t95){(core::String, core::int?) → void};
+          final core::String #t80 = #t79.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
+          final core::int? #t81 = #t79.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+          #t78.{core::Map::[]=}{Invariant}(#t80, #t81){(core::String, core::int?) → void};
         }
       }
     }
-    #t92.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t92;
+    #t78.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t78;
   core::List<core::int> list100 = block {
-    final core::List<core::int> #t96 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t82 = core::_GrowableList::•<core::int>(0);
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t96.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t96;
+      #t82.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t82;
   core::Set<core::int> set100 = block {
-    final core::Set<core::int> #t97 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t83 = new col::_CompactLinkedHashSet::•<core::int>();
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t97.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t97;
+      #t83.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t83;
   core::Map<core::int, core::int> map100 = block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t84 = <core::int, core::int>{};
     if(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t98.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
-  } =>#t98;
+      #t84.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
+  } =>#t84;
 }
 static method testIfElementErrors(core::Map<core::int, core::int> map) → dynamic {
   block {
-    final core::List<core::int> #t99 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t85 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t99.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t85.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:87:28: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) \"bar\"];
                            ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t99;
+  } =>#t85;
   block {
-    final core::Set<core::int?> #t100 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t86 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t100.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:88:29: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t86.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:88:29: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{if (oracle(\"foo\")) \"bar\", null};
                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t100.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t100;
+    #t86.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t86;
   block {
-    final core::Map<core::String, core::int?> #t101 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t87 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t101.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:89:44: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t87.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:89:44: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <String, int?>{if (oracle(\"foo\")) \"bar\": \"bar\", \"baz\": null};
                                            ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t101.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t101;
+    #t87.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t87;
   block {
-    final core::List<core::int> #t102 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t88 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t102.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t88.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:90:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[if (oracle(\"foo\")) ...[\"bar\"]];
                                ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int)){(core::Iterable<core::int>) → void};
-  } =>#t102;
+  } =>#t88;
   block {
-    final core::Set<core::int?> #t103 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t89 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t103.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int?>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:91:33: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t89.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int?>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:91:33: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{if (oracle(\"foo\")) ...[\"bar\"], null};
                                 ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?)){(core::Iterable<core::int?>) → void};
-    #t103.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t103;
+    #t89.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t89;
   block {
-    final core::Map<core::String, core::int?> #t104 = <core::String, core::int?>{};
-    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-      core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int?>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:92:48: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
-  <String, int?>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                               ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int?> #t105 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-        #t104.{core::Map::[]=}{Invariant}(#t105.{core::MapEntry::key}{core::String}, #t105.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-      }
-    }
-    #t104.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t104;
-  block {
-    final core::List<core::int> #t106 = core::_GrowableList::•<core::int>(0);
+    final core::Map<core::String, core::int?> #t90 = <core::String, core::int?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t106.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t90.{core::Map::addAll}{Invariant}(<core::String, core::int?>{"bar": invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:92:48: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+  <String, int?>{if (oracle(\"foo\")) ...{\"bar\": \"bar\"}, \"baz\": null};
+                                               ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}){(core::Map<core::String, core::int?>) → void};
+    #t90.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t90;
+  block {
+    final core::List<core::int> #t91 = core::_GrowableList::•<core::int>(0);
+    if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+      #t91.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:93:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map];
                               ^"){(core::int) → void};
-  } =>#t106;
+  } =>#t91;
   block {
-    final core::Set<core::int?> #t107 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t92 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t107.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:94:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t92.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:94:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map, null};
                                ^"){(core::int?) → core::bool};
-    #t107.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t107;
+    #t92.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t92;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:95:40: Error: Unexpected type 'List<String>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
@@ -1084,61 +1009,61 @@
   <String, int?>{if (oracle(\"foo\")) ...[\"bar\"], \"baz\": null};
                                        ^": null};
   block {
-    final core::List<core::String> #t108 = core::_GrowableList::•<core::String>(0);
+    final core::List<core::String> #t93 = core::_GrowableList::•<core::String>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:31: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
     else
-      #t108.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+      #t93.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:96:39: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[if (oracle(\"foo\")) 42 else 3.14];
                                       ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t108;
+  } =>#t93;
   block {
-    final core::Set<core::String?> #t109 = new col::_CompactLinkedHashSet::•<core::String?>();
+    final core::Set<core::String?> #t94 = new col::_CompactLinkedHashSet::•<core::String?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:32: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:32: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String?>{if (oracle(\"foo\")) 42 else 3.14, null};
                                ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
     else
-      #t109.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:40: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+      #t94.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:97:40: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String?>{if (oracle(\"foo\")) 42 else 3.14, null};
                                        ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
-    #t109.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
-  } =>#t109;
+    #t94.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
+  } =>#t94;
   block {
-    final core::Map<core::String, core::String?> #t110 = <core::String, core::String?>{};
+    final core::Map<core::String, core::String?> #t95 = <core::String, core::String?>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t110.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:47: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+      #t95.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:47: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String, String?>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
     else
-      #t110.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:62: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+      #t95.{core::Map::[]=}{Invariant}("baz", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:98:62: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String, String?>{if (oracle(\"foo\")) \"bar\": 42 else \"baz\": 3.14, \"baz\": null};
                                                              ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
-    #t110.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
-  } =>#t110;
+    #t95.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
+  } =>#t95;
   block {
-    final core::List<core::int> #t111 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t96 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t111.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t96.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:99:31: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) ...map else 42];
                               ^"){(core::int) → void};
     else
-      #t111.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t111;
+      #t96.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t96;
   block {
-    final core::Set<core::int?> #t112 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t97 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t112.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:100:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t97.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:100:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map else 42, null};
                                ^"){(core::int?) → core::bool};
     else
-      #t112.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t112.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t112;
+      #t97.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t97.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t97;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:101:40: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
@@ -1147,26 +1072,26 @@
   <String, int?>{if (oracle(\"foo\")) ...[42] else \"bar\": 42, \"baz\": null};
                                        ^": null};
   block {
-    final core::List<core::int> #t113 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t98 = core::_GrowableList::•<core::int>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t113.{core::List::add}{Invariant}(42){(core::int) → void};
+      #t98.{core::List::add}{Invariant}(42){(core::int) → void};
     else
-      #t113.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t98.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:102:39: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[if (oracle(\"foo\")) 42 else ...map];
                                       ^"){(core::int) → void};
-  } =>#t113;
+  } =>#t98;
   block {
-    final core::Set<core::int?> #t114 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t99 = new col::_CompactLinkedHashSet::•<core::int?>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t114.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:103:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t99.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:103:32: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{if (oracle(\"foo\")) ...map else 42, null};
                                ^"){(core::int?) → core::bool};
     else
-      #t114.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t114.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t114;
+      #t99.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t99.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t99;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:104:55: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{if (oracle(\"foo\")) \"bar\": 42 else ...[42], \"baz\": null};
@@ -1193,822 +1118,737 @@
   var map13 = {if (oracle(\"foo\")) \"bar\": 3.14 else 42};
                                                    ^": null};
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t115 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t100 = core::_GrowableList::•<core::int>(0);
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:112:27: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   List<int> list20 = [if (42) 42];
                           ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t115.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t115;
+      #t100.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t100;
   core::Set<core::int> set20 = block {
-    final core::Set<core::int> #t116 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t101 = new col::_CompactLinkedHashSet::•<core::int>();
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:113:25: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Set<int> set20 = {if (42) 42};
                         ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t116.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t116;
+      #t101.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t101;
   core::Map<core::int, core::int> map30 = block {
-    final core::Map<core::int, core::int> #t117 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t102 = <core::int, core::int>{};
     if(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:114:30: Error: A value of type 'int' can't be assigned to a variable of type 'bool'.
   Map<int, int> map30 = {if (42) 42: 42};
                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::bool)
-      #t117.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
-  } =>#t117;
+      #t102.{core::Map::[]=}{Invariant}(42, 42){(core::int, core::int) → void};
+  } =>#t102;
   core::List<core::String> list40 = block {
-    final core::List<core::String> #t118 = core::_GrowableList::•<core::String>(0);
+    final core::List<core::String> #t103 = core::_GrowableList::•<core::String>(0);
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:53: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                     ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
     else
-      #t118.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t103.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:115:63: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   List<String> list40 = <String>[if (oracle(\"foo\")) true else 42];
                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t118;
+  } =>#t103;
   core::Set<core::String> set40 = block {
-    final core::Set<core::String> #t119 = new col::_CompactLinkedHashSet::•<core::String>();
+    final core::Set<core::String> #t104 = new col::_CompactLinkedHashSet::•<core::String>();
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:51: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                   ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::String) → core::bool};
     else
-      #t119.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t104.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:116:61: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Set<String> set40 = <String>{if (oracle(\"foo\")) true else 42};
                                                             ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → core::bool};
-  } =>#t119;
+  } =>#t104;
   core::Map<core::String, core::int> map40 = block {
-    final core::Map<core::String, core::int> #t120 = <core::String, core::int>{};
+    final core::Map<core::String, core::int> #t105 = <core::String, core::int>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:61: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                             ^" in true as{TypeError,ForNonNullableByDefault} core::String, 42){(core::String, core::int) → void};
     else
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t105.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:117:75: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<String, int> map40 = <String, int>{if (oracle(\"foo\")) true: 42 else 42: 42};
                                                                           ^" in 42 as{TypeError,ForNonNullableByDefault} core::String, 42){(core::String, core::int) → void};
-  } =>#t120;
+  } =>#t105;
   core::Map<core::int, core::String> map41 = block {
-    final core::Map<core::int, core::String> #t121 = <core::int, core::String>{};
+    final core::Map<core::int, core::String> #t106 = <core::int, core::String>{};
     if(self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:65: Error: A value of type 'bool' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                 ^" in true as{TypeError,ForNonNullableByDefault} core::String){(core::int, core::String) → void};
     else
-      #t121.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+      #t106.{core::Map::[]=}{Invariant}(42, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:118:79: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   Map<int, String> map41 = <int, String>{if (oracle(\"foo\")) 42: true else 42: 42};
                                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::int, core::String) → void};
-  } =>#t121;
+  } =>#t106;
 }
 static method testForElement(dynamic dynVar, core::List<core::int> listInt, core::List<core::double> listDouble, core::int index, core::Map<core::String, core::int> mapStringInt, core::Map<core::String, core::double> mapStringDouble) → dynamic {
   core::List<core::int> list10 = block {
-    final core::List<core::int> #t122 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t107 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t122.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t122;
+      #t107.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t107;
   core::Set<core::int?> set10 = block {
-    final core::Set<core::int?> #t123 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t108 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t123.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t123.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t123;
+      #t108.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t108.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t108;
   core::Map<core::String, core::int?> map10 = block {
-    final core::Map<core::String, core::int?> #t124 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t109 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t124.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t124;
+      #t109.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t109.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t109;
   core::List<dynamic> list11 = block {
-    final core::List<dynamic> #t125 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t110 = core::_GrowableList::•<dynamic>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t125.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
-  } =>#t125;
+      #t110.{core::List::add}{Invariant}(dynVar){(dynamic) → void};
+  } =>#t110;
   core::Set<dynamic> set11 = block {
-    final core::Set<dynamic> #t126 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t111 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t126.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
-    #t126.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t126;
+      #t111.{core::Set::add}{Invariant}(dynVar){(dynamic) → core::bool};
+    #t111.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t111;
   core::Map<core::String, dynamic> map11 = block {
-    final core::Map<core::String, dynamic> #t127 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t112 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t127.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String, dynamic) → void};
-    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t127;
+      #t112.{core::Map::[]=}{Invariant}("bar", dynVar){(core::String, dynamic) → void};
+    #t112.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t112;
   core::List<core::List<core::int>> list12 = block {
-    final core::List<core::List<core::int>> #t128 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t113 = core::_GrowableList::•<core::List<core::int>>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t128.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>) → void};
-  } =>#t128;
+      #t113.{core::List::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>) → void};
+  } =>#t113;
   core::Set<core::List<core::int>?> set12 = block {
-    final core::Set<core::List<core::int>?> #t129 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t114 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t129.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>?) → core::bool};
-    #t129.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t129;
+      #t114.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>?) → core::bool};
+    #t114.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t114;
   core::Map<core::String, core::List<core::int>?> map12 = block {
-    final core::Map<core::String, core::List<core::int>?> #t130 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t115 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t130.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::_literal1<core::int>(42)){(core::String, core::List<core::int>?) → void};
-    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t130;
+      #t115.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::_literal1<core::int>(42)){(core::String, core::List<core::int>?) → void};
+    #t115.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t115;
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t131 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t116 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t131.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
-  } =>#t131;
+      #t116.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
+  } =>#t116;
   core::Set<core::int?> set20 = block {
-    final core::Set<core::int?> #t132 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t117 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t132.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
-    #t132.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t132;
+      #t117.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
+    #t117.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t117;
   core::Map<core::String, core::int?> map20 = block {
-    final core::Map<core::String, core::int?> #t133 = <core::String, core::int?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int?> #t134 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-        #t133.{core::Map::[]=}{Invariant}(#t134.{core::MapEntry::key}{core::String}, #t134.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-      }
-    }
-    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t133;
+    final core::Map<core::String, core::int?> #t118 = <core::String, core::int?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t118.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t118.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t118;
   core::List<dynamic> list21 = block {
-    final core::List<dynamic> #t135 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t119 = core::_GrowableList::•<dynamic>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t135.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-  } =>#t135;
+      #t119.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+  } =>#t119;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t136 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t120 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t136.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-    #t136.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t136;
+      #t120.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+    #t120.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t120;
   core::Map<core::String, dynamic> map21 = block {
-    final core::Map<core::String, dynamic> #t137 = <core::String, dynamic>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<core::String, dynamic>> :sync-for-iterator = <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, dynamic> #t138 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, dynamic>};
-        #t137.{core::Map::[]=}{Invariant}(#t138.{core::MapEntry::key}{core::String}, #t138.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-      }
-    }
-    #t137.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t137;
+    final core::Map<core::String, dynamic> #t121 = <core::String, dynamic>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t121.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t121.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t121;
   core::List<core::List<core::int>> list22 = block {
-    final core::List<core::List<core::int>> #t139 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t122 = core::_GrowableList::•<core::List<core::int>>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t139.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t139;
+      #t122.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t122;
   core::Set<core::List<core::int>?> set22 = block {
-    final core::Set<core::List<core::int>?> #t140 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t123 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
-    #t140.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t140;
+      #t123.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
+    #t123.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t123;
   core::Map<core::String, core::List<core::int>?> map22 = block {
-    final core::Map<core::String, core::List<core::int>?> #t141 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::List<core::int>?> #t142 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-        #t141.{core::Map::[]=}{Invariant}(#t142.{core::MapEntry::key}{core::String}, #t142.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-      }
-    }
-    #t141.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t141;
+    final core::Map<core::String, core::List<core::int>?> #t124 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t124.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t124.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t124;
   core::List<core::int> list30 = block {
-    final core::List<core::int> #t143 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t125 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t143.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
-  } =>#t143;
+        #t125.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int>) → void};
+  } =>#t125;
   core::Set<core::int?> set30 = block {
-    final core::Set<core::int?> #t144 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t126 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t144.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
-    #t144.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t144;
+        #t126.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::Iterable<core::int?>) → void};
+    #t126.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t126;
   core::Map<core::String, core::int?> map30 = block {
-    final core::Map<core::String, core::int?> #t145 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t127 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int>{"bar": 42}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::int?> #t146 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-          #t145.{core::Map::[]=}{Invariant}(#t146.{core::MapEntry::key}{core::String}, #t146.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-        }
-      }
-    #t145.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t145;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t127.{core::Map::addAll}{Invariant}(<core::String, core::int>{"bar": 42}){(core::Map<core::String, core::int?>) → void};
+    #t127.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t127;
   core::List<dynamic> list31 = block {
-    final core::List<dynamic> #t147 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t128 = core::_GrowableList::•<dynamic>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t147.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-  } =>#t147;
+        #t128.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+  } =>#t128;
   core::Set<dynamic> set31 = block {
-    final core::Set<dynamic> #t148 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t129 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t148.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
-    #t148.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t148;
+        #t129.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<dynamic>(dynVar)){(core::Iterable<dynamic>) → void};
+    #t129.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t129;
   core::Map<core::String, dynamic> map31 = block {
-    final core::Map<core::String, dynamic> #t149 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t130 = <core::String, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, dynamic>> :sync-for-iterator = <core::String, dynamic>{"bar": dynVar}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, dynamic>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, dynamic> #t150 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, dynamic>};
-          #t149.{core::Map::[]=}{Invariant}(#t150.{core::MapEntry::key}{core::String}, #t150.{core::MapEntry::value}{dynamic}){(core::String, dynamic) → void};
-        }
-      }
-    #t149.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t149;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t130.{core::Map::addAll}{Invariant}(<core::String, dynamic>{"bar": dynVar}){(core::Map<core::String, dynamic>) → void};
+    #t130.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t130;
   core::List<core::List<core::int>> list33 = block {
-    final core::List<core::List<core::int>> #t151 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t131 = core::_GrowableList::•<core::List<core::int>>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t151.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t151;
+        #t131.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t131;
   core::Set<core::List<core::int>?> set33 = block {
-    final core::Set<core::List<core::int>?> #t152 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t132 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t152.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
-    #t152.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t152;
+        #t132.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::_literal1<core::int>(42))){(core::Iterable<core::List<core::int>?>) → void};
+    #t132.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t132;
   core::Map<core::String, core::List<core::int>?> map33 = block {
-    final core::Map<core::String, core::List<core::int>?> #t153 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t133 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::List<core::int>?> #t154 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-          #t153.{core::Map::[]=}{Invariant}(#t154.{core::MapEntry::key}{core::String}, #t154.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-        }
-      }
-    #t153.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t153;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t133.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>>{"bar": core::_GrowableList::_literal1<core::int>(42)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t133.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t133;
   core::List<core::List<core::int>> list40 = block {
-    final core::List<core::List<core::int>> #t155 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t134 = core::_GrowableList::•<core::List<core::int>>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t155.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t155;
+      #t134.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t134;
   core::Set<core::List<core::int>?> set40 = block {
-    final core::Set<core::List<core::int>?> #t156 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t135 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t156.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t156.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t156;
+      #t135.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t135.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t135;
   core::Map<core::String, core::List<core::int>?> map40 = block {
-    final core::Map<core::String, core::List<core::int>?> #t157 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::List<core::int>?> #t158 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-        #t157.{core::Map::[]=}{Invariant}(#t158.{core::MapEntry::key}{core::String}, #t158.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-      }
-    }
-    #t157.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t157;
+    final core::Map<core::String, core::List<core::int>?> #t136 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t136.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t136.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t136;
   core::List<core::List<core::int>> list41 = block {
+    final core::List<core::List<core::int>> #t137 = core::_GrowableList::•<core::List<core::int>>(0);
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t137.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>> #t138 = new col::_CompactLinkedHashSet::•<core::List<core::int>>();
+        #t138.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → core::bool};
+      } =>#t138){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t137;
+  core::Set<core::List<core::int>?> set41 = block {
+    final core::Set<core::List<core::int>?> #t139 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t139.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::List<core::int>?> #t140 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+        #t140.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
+      } =>#t140){(core::Iterable<core::List<core::int>?>) → void};
+    #t139.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t139;
+  core::List<core::List<core::int>> list42 = block {
+    final core::List<core::List<core::int>> #t141 = core::_GrowableList::•<core::List<core::int>>(0);
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t141.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t141;
+  core::Set<core::List<core::int>?> set42 = block {
+    final core::Set<core::List<core::int>?> #t142 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t142.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t142.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t142;
+  core::Map<core::String, core::List<core::int>?> map42 = block {
+    final core::Map<core::String, core::List<core::int>?> #t143 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t143.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t143.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t143;
+  core::List<core::int> list50 = block {
+    final core::List<core::int> #t144 = core::_GrowableList::•<core::int>(0);
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t144.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
+  } =>#t144;
+  core::Set<core::int?> set50 = block {
+    final core::Set<core::int?> #t145 = new col::_CompactLinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t145.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
+    #t145.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t145;
+  core::Map<core::String, core::int?> map50 = block {
+    final core::Map<core::String, core::int?> #t146 = <core::String, core::int?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t146.{core::Map::addAll}{Invariant}(<core::String, core::int?>{}){(core::Map<core::String, core::int?>) → void};
+    #t146.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t146;
+  core::List<core::int> list51 = block {
+    final core::List<core::int> #t147 = core::_GrowableList::•<core::int>(0);
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t147.{core::List::addAll}{Invariant}( block {
+        final core::Set<core::int> #t148 = new col::_CompactLinkedHashSet::•<core::int>();
+      } =>#t148){(core::Iterable<core::int>) → void};
+  } =>#t147;
+  core::Set<core::int?> set51 = block {
+    final core::Set<core::int?> #t149 = new col::_CompactLinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t149.{core::Set::addAll}{Invariant}( block {
+        final core::Set<core::int?> #t150 = new col::_CompactLinkedHashSet::•<core::int?>();
+      } =>#t150){(core::Iterable<core::int?>) → void};
+    #t149.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t149;
+  core::List<core::int> list52 = block {
+    final core::List<core::int> #t151 = core::_GrowableList::•<core::int>(0);
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t151.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
+  } =>#t151;
+  core::Set<core::int?> set52 = block {
+    final core::Set<core::int?> #t152 = new col::_CompactLinkedHashSet::•<core::int?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t152.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
+    #t152.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t152;
+  core::List<core::List<core::int>> list60 = block {
+    final core::List<core::List<core::int>> #t153 = core::_GrowableList::•<core::List<core::int>>(0);
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t153.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t153;
+  core::Set<core::List<core::int>?> set60 = block {
+    final core::Set<core::List<core::int>?> #t154 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t154.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t154.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t154;
+  core::Map<core::String, core::List<core::int>?> map60 = block {
+    final core::Map<core::String, core::List<core::int>?> #t155 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t155.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t155.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t155;
+  core::List<core::List<core::int>> list61 = block {
+    final core::List<core::List<core::int>> #t156 = core::_GrowableList::•<core::List<core::int>>(0);
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t156.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
+  } =>#t156;
+  core::Set<core::List<core::int>?> set61 = block {
+    final core::Set<core::List<core::int>?> #t157 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t157.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
+    #t157.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t157;
+  core::Map<core::String, core::List<core::int>?> map61 = block {
+    final core::Map<core::String, core::List<core::int>?> #t158 = <core::String, core::List<core::int>?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t158.{core::Map::addAll}{Invariant}(<core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}){(core::Map<core::String, core::List<core::int>?>) → void};
+    #t158.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t158;
+  core::List<core::List<core::int>> list70 = block {
     final core::List<core::List<core::int>> #t159 = core::_GrowableList::•<core::List<core::int>>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t159.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>> #t160 = new col::_CompactLinkedHashSet::•<core::List<core::int>>();
-        #t160.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → core::bool};
-      } =>#t160){(core::Iterable<core::List<core::int>>) → void};
+      #t159.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
   } =>#t159;
-  core::Set<core::List<core::int>?> set41 = block {
-    final core::Set<core::List<core::int>?> #t161 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t161.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::List<core::int>?> #t162 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
-        #t162.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
-      } =>#t162){(core::Iterable<core::List<core::int>?>) → void};
-    #t161.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t161;
-  core::List<core::List<core::int>> list42 = block {
-    final core::List<core::List<core::int>> #t163 = core::_GrowableList::•<core::List<core::int>>(0);
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t163.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t163;
-  core::Set<core::List<core::int>?> set42 = block {
-    final core::Set<core::List<core::int>?> #t164 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t164.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t164.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t164;
-  core::Map<core::String, core::List<core::int>?> map42 = block {
-    final core::Map<core::String, core::List<core::int>?> #t165 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::List<core::int>?> #t166 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-          #t165.{core::Map::[]=}{Invariant}(#t166.{core::MapEntry::key}{core::String}, #t166.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-        }
-      }
-    #t165.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t165;
-  core::List<core::int> list50 = block {
-    final core::List<core::int> #t167 = core::_GrowableList::•<core::int>(0);
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t167.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
-  } =>#t167;
-  core::Set<core::int?> set50 = block {
-    final core::Set<core::int?> #t168 = new col::_CompactLinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t168.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
-    #t168.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t168;
-  core::Map<core::String, core::int?> map50 = block {
-    final core::Map<core::String, core::int?> #t169 = <core::String, core::int?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = <core::String, core::int?>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int?> #t170 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
-        #t169.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::String}, #t170.{core::MapEntry::value}{core::int?}){(core::String, core::int?) → void};
-      }
-    }
-    #t169.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t169;
-  core::List<core::int> list51 = block {
-    final core::List<core::int> #t171 = core::_GrowableList::•<core::int>(0);
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t171.{core::List::addAll}{Invariant}( block {
-        final core::Set<core::int> #t172 = new col::_CompactLinkedHashSet::•<core::int>();
-      } =>#t172){(core::Iterable<core::int>) → void};
-  } =>#t171;
-  core::Set<core::int?> set51 = block {
-    final core::Set<core::int?> #t173 = new col::_CompactLinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t173.{core::Set::addAll}{Invariant}( block {
-        final core::Set<core::int?> #t174 = new col::_CompactLinkedHashSet::•<core::int?>();
-      } =>#t174){(core::Iterable<core::int?>) → void};
-    #t173.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t173;
-  core::List<core::int> list52 = block {
-    final core::List<core::int> #t175 = core::_GrowableList::•<core::int>(0);
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t175.{core::List::addAll}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::Iterable<core::int>) → void};
-  } =>#t175;
-  core::Set<core::int?> set52 = block {
-    final core::Set<core::int?> #t176 = new col::_CompactLinkedHashSet::•<core::int?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t176.{core::Set::addAll}{Invariant}(core::_GrowableList::•<core::int?>(0)){(core::Iterable<core::int?>) → void};
-    #t176.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t176;
-  core::List<core::List<core::int>> list60 = block {
-    final core::List<core::List<core::int>> #t177 = core::_GrowableList::•<core::List<core::int>>(0);
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t177.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t177;
-  core::Set<core::List<core::int>?> set60 = block {
-    final core::Set<core::List<core::int>?> #t178 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t178.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t178.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t178;
-  core::Map<core::String, core::List<core::int>?> map60 = block {
-    final core::Map<core::String, core::List<core::int>?> #t179 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::List<core::int>?> #t180 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-        #t179.{core::Map::[]=}{Invariant}(#t180.{core::MapEntry::key}{core::String}, #t180.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-      }
-    }
-    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t179;
-  core::List<core::List<core::int>> list61 = block {
-    final core::List<core::List<core::int>> #t181 = core::_GrowableList::•<core::List<core::int>>(0);
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t181.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>>) → void};
-  } =>#t181;
-  core::Set<core::List<core::int>?> set61 = block {
-    final core::Set<core::List<core::int>?> #t182 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t182.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::List<core::int>?>(core::_GrowableList::•<core::int>(0))){(core::Iterable<core::List<core::int>?>) → void};
-    #t182.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t182;
-  core::Map<core::String, core::List<core::int>?> map61 = block {
-    final core::Map<core::String, core::List<core::int>?> #t183 = <core::String, core::List<core::int>?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::List<core::int>?>> :sync-for-iterator = <core::String, core::List<core::int>?>{"bar": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::List<core::int>?> #t184 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>?>};
-          #t183.{core::Map::[]=}{Invariant}(#t184.{core::MapEntry::key}{core::String}, #t184.{core::MapEntry::value}{core::List<core::int>?}){(core::String, core::List<core::int>?) → void};
-        }
-      }
-    #t183.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t183;
-  core::List<core::List<core::int>> list70 = block {
-    final core::List<core::List<core::int>> #t185 = core::_GrowableList::•<core::List<core::int>>(0);
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t185.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
-  } =>#t185;
   core::Set<core::List<core::int>?> set70 = block {
-    final core::Set<core::List<core::int>?> #t186 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t160 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t186.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
-    #t186.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t186;
+      #t160.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
+    #t160.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t160;
   core::Map<core::String, core::List<core::int>?> map70 = block {
-    final core::Map<core::String, core::List<core::int>?> #t187 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t161 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t187.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int>(0)){(core::String, core::List<core::int>?) → void};
-    #t187.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t187;
+      #t161.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int>(0)){(core::String, core::List<core::int>?) → void};
+    #t161.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t161;
   core::List<core::List<core::int>> list71 = block {
-    final core::List<core::List<core::int>> #t188 = core::_GrowableList::•<core::List<core::int>>(0);
+    final core::List<core::List<core::int>> #t162 = core::_GrowableList::•<core::List<core::int>>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t188.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
-  } =>#t188;
+        #t162.{core::List::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>) → void};
+  } =>#t162;
   core::Set<core::List<core::int>?> set71 = block {
-    final core::Set<core::List<core::int>?> #t189 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
+    final core::Set<core::List<core::int>?> #t163 = new col::_CompactLinkedHashSet::•<core::List<core::int>?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t189.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
-    #t189.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
-  } =>#t189;
+        #t163.{core::Set::add}{Invariant}(core::_GrowableList::•<core::int>(0)){(core::List<core::int>?) → core::bool};
+    #t163.{core::Set::add}{Invariant}(null){(core::List<core::int>?) → core::bool};
+  } =>#t163;
   core::Map<core::String, core::List<core::int>?> map71 = block {
-    final core::Map<core::String, core::List<core::int>?> #t190 = <core::String, core::List<core::int>?>{};
+    final core::Map<core::String, core::List<core::int>?> #t164 = <core::String, core::List<core::int>?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t190.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int>(0)){(core::String, core::List<core::int>?) → void};
-    #t190.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
-  } =>#t190;
+        #t164.{core::Map::[]=}{Invariant}("bar", core::_GrowableList::•<core::int>(0)){(core::String, core::List<core::int>?) → void};
+    #t164.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::List<core::int>?) → void};
+  } =>#t164;
   core::List<core::num> list80 = block {
-    final core::List<core::num> #t191 = core::_GrowableList::•<core::num>(0);
+    final core::List<core::num> #t165 = core::_GrowableList::•<core::num>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t191.{core::List::add}{Invariant}(42){(core::num) → void};
+        #t165.{core::List::add}{Invariant}(42){(core::num) → void};
       else
-        #t191.{core::List::add}{Invariant}(3.14){(core::num) → void};
-  } =>#t191;
+        #t165.{core::List::add}{Invariant}(3.14){(core::num) → void};
+  } =>#t165;
   core::Set<core::num?> set80 = block {
-    final core::Set<core::num?> #t192 = new col::_CompactLinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t166 = new col::_CompactLinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t192.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
+        #t166.{core::Set::add}{Invariant}(42){(core::num?) → core::bool};
       else
-        #t192.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t192.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t192;
+        #t166.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t166.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t166;
   core::Map<core::String, core::num?> map80 = block {
-    final core::Map<core::String, core::num?> #t193 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t167 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t193.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
+        #t167.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::num?) → void};
       else
-        #t193.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t193.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t193;
+        #t167.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t167.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t167;
   core::List<core::num> list81 = block {
-    final core::List<core::num> #t194 = core::_GrowableList::•<core::num>(0);
+    final core::List<core::num> #t168 = core::_GrowableList::•<core::num>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t194.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
+        #t168.{core::List::addAll}{Invariant}(listInt){(core::Iterable<core::num>) → void};
       else
-        #t194.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t194;
+        #t168.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t168;
   core::Set<core::num?> set81 = block {
-    final core::Set<core::num?> #t195 = new col::_CompactLinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t169 = new col::_CompactLinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t195.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+        #t169.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
       else
-        #t195.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
-    #t195.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t195;
+        #t169.{core::Set::addAll}{Invariant}(listDouble){(core::Iterable<core::num?>) → void};
+    #t169.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t169;
   core::Map<core::String, core::num?> map81 = block {
-    final core::Map<core::String, core::num?> #t196 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t170 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::num?>> :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::num?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::num?> #t197 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::num?>};
-          #t196.{core::Map::[]=}{Invariant}(#t197.{core::MapEntry::key}{core::String}, #t197.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-        }
-      }
-      else {
-        core::Iterator<core::MapEntry<core::String, core::num?>> :sync-for-iterator = mapStringDouble.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::num?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::num?> #t198 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::num?>};
-          #t196.{core::Map::[]=}{Invariant}(#t198.{core::MapEntry::key}{core::String}, #t198.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-        }
-      }
-    #t196.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t196;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t170.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String, core::num?>) → void};
+      else
+        #t170.{core::Map::addAll}{Invariant}(mapStringDouble){(core::Map<core::String, core::num?>) → void};
+    #t170.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t170;
   core::List<dynamic> list82 = block {
-    final core::List<dynamic> #t199 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t171 = core::_GrowableList::•<dynamic>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t199.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+        #t171.{core::List::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
       else
-        #t199.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-  } =>#t199;
+        #t171.{core::List::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+  } =>#t171;
   core::Set<dynamic> set82 = block {
-    final core::Set<dynamic> #t200 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t172 = new col::_CompactLinkedHashSet::•<dynamic>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t200.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
+        #t172.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<dynamic>) → void};
       else
-        #t200.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
-    #t200.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t200;
+        #t172.{core::Set::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t172.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t172;
   core::Map<dynamic, dynamic> map82 = block {
-    final core::Map<dynamic, dynamic> #t201 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t173 = <dynamic, dynamic>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, dynamic> #t202 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-          #t201.{core::Map::[]=}{Invariant}(#t202.{core::MapEntry::key}{dynamic}, #t202.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-        }
-      }
-      else {
-        core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, dynamic> #t203 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-          #t201.{core::Map::[]=}{Invariant}(#t203.{core::MapEntry::key}{dynamic}, #t203.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-        }
-      }
-    #t201.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) → void};
-  } =>#t201;
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t173.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<dynamic, dynamic>) → void};
+      else
+        #t173.{core::Map::addAll}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t173.{core::Map::[]=}{Invariant}("baz", null){(dynamic, dynamic) → void};
+  } =>#t173;
   core::List<core::num> list83 = block {
-    final core::List<core::num> #t204 = core::_GrowableList::•<core::num>(0);
+    final core::List<core::num> #t174 = core::_GrowableList::•<core::num>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t204.{core::List::add}{Invariant}(42){(core::num) → void};
+        #t174.{core::List::add}{Invariant}(42){(core::num) → void};
       else
-        #t204.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
-  } =>#t204;
+        #t174.{core::List::addAll}{Invariant}(listDouble){(core::Iterable<core::num>) → void};
+  } =>#t174;
   core::Set<core::num?> set83 = block {
-    final core::Set<core::num?> #t205 = new col::_CompactLinkedHashSet::•<core::num?>();
+    final core::Set<core::num?> #t175 = new col::_CompactLinkedHashSet::•<core::num?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t205.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
+        #t175.{core::Set::addAll}{Invariant}(listInt){(core::Iterable<core::num?>) → void};
       else
-        #t205.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
-    #t205.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
-  } =>#t205;
+        #t175.{core::Set::add}{Invariant}(3.14){(core::num?) → core::bool};
+    #t175.{core::Set::add}{Invariant}(null){(core::num?) → core::bool};
+  } =>#t175;
   core::Map<core::String, core::num?> map83 = block {
-    final core::Map<core::String, core::num?> #t206 = <core::String, core::num?>{};
+    final core::Map<core::String, core::num?> #t176 = <core::String, core::num?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool) {
-        core::Iterator<core::MapEntry<core::String, core::num?>> :sync-for-iterator = mapStringInt.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::num?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::num?>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::String, core::num?> #t207 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::num?>};
-          #t206.{core::Map::[]=}{Invariant}(#t207.{core::MapEntry::key}{core::String}, #t207.{core::MapEntry::value}{core::num?}){(core::String, core::num?) → void};
-        }
-      }
+      if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
+        #t176.{core::Map::addAll}{Invariant}(mapStringInt){(core::Map<core::String, core::num?>) → void};
       else
-        #t206.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
-    #t206.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
-  } =>#t206;
+        #t176.{core::Map::[]=}{Invariant}("bar", 3.14){(core::String, core::num?) → void};
+    #t176.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::num?) → void};
+  } =>#t176;
   core::List<core::int> list90 = block {
-    final core::List<core::int> #t208 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t177 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t208.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t208;
+      #t177.{core::List::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+  } =>#t177;
   core::Set<core::int?> set90 = block {
-    final core::Set<core::int?> #t209 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t178 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t209.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t209.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t209;
+      #t178.{core::Set::add}{Invariant}(dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+    #t178.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t178;
   core::Map<core::String, core::int?> map90 = block {
-    final core::Map<core::String, core::int?> #t210 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t179 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t210.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
-    #t210.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t210;
+      #t179.{core::Map::[]=}{Invariant}("bar", dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+    #t179.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t179;
   core::List<core::int> list91 = block {
-    final core::List<core::int> #t211 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t180 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t212 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t181 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t213 = #t212 as{TypeError,ForNonNullableByDefault} core::int;
-          #t211.{core::List::add}{Invariant}(#t213){(core::int) → void};
+          final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
+          #t180.{core::List::add}{Invariant}(#t182){(core::int) → void};
         }
       }
     }
-  } =>#t211;
+  } =>#t180;
   core::Set<core::int?> set91 = block {
-    final core::Set<core::int?> #t214 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t183 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t215 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t184 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int? #t216 = #t215 as{TypeError,ForNonNullableByDefault} core::int?;
-          #t214.{core::Set::add}{Invariant}(#t216){(core::int?) → core::bool};
+          final core::int? #t185 = #t184 as{TypeError,ForNonNullableByDefault} core::int?;
+          #t183.{core::Set::add}{Invariant}(#t185){(core::int?) → core::bool};
         }
       }
     }
-    #t214.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t214;
+    #t183.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t183;
   core::Map<core::String, core::int?> map91 = block {
-    final core::Map<core::String, core::int?> #t217 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t186 = <core::String, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<core::MapEntry<core::String, core::int?>> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int?>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t218 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
+        final core::MapEntry<dynamic, dynamic> #t187 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int?>};
         {
-          final core::String #t219 = #t218.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
-          final core::int? #t220 = #t218.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-          #t217.{core::Map::[]=}{Invariant}(#t219, #t220){(core::String, core::int?) → void};
+          final core::String #t188 = #t187.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::String;
+          final core::int? #t189 = #t187.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+          #t186.{core::Map::[]=}{Invariant}(#t188, #t189){(core::String, core::int?) → void};
         }
       }
     }
-    #t217.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t217;
+    #t186.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t186;
   core::List<core::int> list100 = block {
-    final core::List<core::int> #t221 = core::_GrowableList::•<core::int>(0);
-    for (final core::int #t222 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t221.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t221;
+    final core::List<core::int> #t190 = core::_GrowableList::•<core::int>(0);
+    for (final core::int #t191 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t190.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t190;
   core::Set<core::int> set100 = block {
-    final core::Set<core::int> #t223 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (final core::int #t224 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t223.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t223;
+    final core::Set<core::int> #t192 = new col::_CompactLinkedHashSet::•<core::int>();
+    for (final core::int #t193 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t192.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t192;
   core::Map<core::String, core::int> map100 = block {
-    final core::Map<core::String, core::int> #t225 = <core::String, core::int>{};
-    for (final core::int #t226 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
-      #t225.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int) → void};
-  } =>#t225;
+    final core::Map<core::String, core::int> #t194 = <core::String, core::int>{};
+    for (final core::int #t195 = index = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; index = index.{core::num::+}(1){(core::num) → core::int})
+      #t194.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int) → void};
+  } =>#t194;
   core::List<core::int> list110 = block {
-    final core::List<core::int> #t227 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t196 = core::_GrowableList::•<core::int>(0);
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal3<core::int>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
-        #t227.{core::List::add}{Invariant}(i){(core::int) → void};
+        #t196.{core::List::add}{Invariant}(i){(core::int) → void};
       }
     }
-  } =>#t227;
+  } =>#t196;
   core::Set<core::int?> set110 = block {
-    final core::Set<core::int?> #t228 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t197 = new col::_CompactLinkedHashSet::•<core::int?>();
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal3<core::int>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
-        #t228.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+        #t197.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
       }
     }
-    #t228.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t228;
+    #t197.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t197;
   core::Map<core::String, core::int?> map110 = block {
-    final core::Map<core::String, core::int?> #t229 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t198 = <core::String, core::int?>{};
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal3<core::int>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
-        #t229.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+        #t198.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
       }
     }
-    #t229.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t229;
+    #t198.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t198;
   core::List<core::int> list120 = block {
-    final core::List<core::int> #t230 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t199 = core::_GrowableList::•<core::int>(0);
     {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t230.{core::List::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
+        #t199.{core::List::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int){(core::int) → void};
       }
     }
-  } =>#t230;
+  } =>#t199;
   core::Set<core::int?> set120 = block {
-    final core::Set<core::int?> #t231 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t200 = new col::_CompactLinkedHashSet::•<core::int?>();
     {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t231.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
+        #t200.{core::Set::add}{Invariant}(i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
       }
     }
-    #t231.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t231;
+    #t200.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t200;
   core::Map<core::String, core::int?> map120 = block {
-    final core::Map<core::String, core::int?> #t232 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t201 = <core::String, core::int?>{};
     {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t232.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
+        #t201.{core::Map::[]=}{Invariant}("bar", i as{TypeError,ForDynamic,ForNonNullableByDefault} core::int?){(core::String, core::int?) → void};
       }
     }
-    #t232.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t232;
+    #t201.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t201;
   core::List<core::int> list130 = block {
-    final core::List<core::int> #t233 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t202 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t233.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t233;
+      #t202.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t202;
   core::Set<core::int> set130 = block {
-    final core::Set<core::int> #t234 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t203 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t234.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
-  } =>#t234;
+      #t203.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
+  } =>#t203;
   core::Map<core::int, core::int> map130 = block {
-    final core::Map<core::int, core::int> #t235 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t204 = <core::int, core::int>{};
     for (core::int i = 1; i.{core::num::<}(2){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t235.{core::Map::[]=}{Invariant}(i, i){(core::int, core::int) → void};
-  } =>#t235;
+      #t204.{core::Map::[]=}{Invariant}(i, i){(core::int, core::int) → void};
+  } =>#t204;
 }
 static method testForElementErrors(core::Map<core::int, core::int> map, core::List<core::int> list) → dynamic async /* futureValueType= dynamic */ {
   block {
-    final core::List<core::int> #t236 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t205 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t236.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t205.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:210:45: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) \"bar\"];
                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int){(core::int) → void};
-  } =>#t236;
+  } =>#t205;
   block {
-    final core::Set<core::int?> #t237 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t206 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t237.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:211:46: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t206.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:211:46: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\", null};
                                              ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int?) → core::bool};
-    #t237.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t237;
+    #t206.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t206;
   block {
-    final core::Map<core::int, core::int?> #t238 = <core::int, core::int?>{};
+    final core::Map<core::int, core::int?> #t207 = <core::int, core::int?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:51: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:51: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                   ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int, invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:58: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                          ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?){(core::int, core::int?) → void};
-    #t238.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    #t207.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:212:65: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) \"bar\": \"bar\", \"baz\": null};
                                                                 ^" in "baz" as{TypeError,ForNonNullableByDefault} core::int, null){(core::int, core::int?) → void};
-  } =>#t238;
+  } =>#t207;
   block {
-    final core::List<core::int> #t239 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t208 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t239.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+      #t208.{core::List::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:213:49: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"]];
                                                 ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int)){(core::Iterable<core::int>) → void};
-  } =>#t239;
+  } =>#t208;
   block {
-    final core::Set<core::int?> #t240 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t209 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t240.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int?>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
+      #t209.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int?>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:214:50: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) ...[\"bar\"], null};
                                                  ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?)){(core::Iterable<core::int?>) → void};
-    #t240.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t240;
+    #t209.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t209;
   block {
-    final core::Map<core::int, core::int?> #t241 = <core::int, core::int?>{};
-    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<core::int, core::int?>> :sync-for-iterator = <core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:55: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+    final core::Map<core::int, core::int?> #t210 = <core::int, core::int?>{};
+    for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t210.{core::Map::addAll}{Invariant}(<core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:55: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                       ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int: invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:62: Error: A value of type 'String' can't be assigned to a variable of type 'int?'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
-                                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int?> #t242 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int?>};
-        #t241.{core::Map::[]=}{Invariant}(#t242.{core::MapEntry::key}{core::int}, #t242.{core::MapEntry::value}{core::int?}){(core::int, core::int?) → void};
-      }
-    }
-    #t241.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:70: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
+                                                             ^" in "bar" as{TypeError,ForNonNullableByDefault} core::int?}){(core::Map<core::int, core::int?>) → void};
+    #t210.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:215:70: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...{\"bar\": \"bar\"}, \"baz\": null};
                                                                      ^" in "baz" as{TypeError,ForNonNullableByDefault} core::int, null){(core::int, core::int?) → void};
-  } =>#t241;
+  } =>#t210;
   block {
-    final core::List<core::int> #t243 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t211 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t243.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t211.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:216:48: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) ...map];
                                                ^"){(core::int) → void};
-  } =>#t243;
+  } =>#t211;
   block {
-    final core::Set<core::int?> #t244 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t212 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t244.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:217:49: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+      #t212.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:217:49: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) ...map, null};
                                                 ^"){(core::int?) → core::bool};
-    #t244.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t244;
+    #t212.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t212;
   <core::int, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:218:54: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
@@ -2017,66 +1857,66 @@
   <int, int?>{for (int i = 0; oracle(\"foo\"); i++) ...list, 42: null};
                                                      ^": null};
   block {
-    final core::List<core::String> #t245 = core::_GrowableList::•<core::String>(0);
+    final core::List<core::String> #t213 = core::_GrowableList::•<core::String>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:62: Error: A value of type 'int' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
       else
-        #t245.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
+        #t213.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:219:70: Error: A value of type 'double' can't be assigned to a variable of type 'String'.
   <String>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14];
                                                                      ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String){(core::String) → void};
-  } =>#t245;
+  } =>#t213;
   block {
-    final core::Set<core::String?> #t246 = new col::_CompactLinkedHashSet::•<core::String?>();
+    final core::Set<core::String?> #t214 = new col::_CompactLinkedHashSet::•<core::String?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:63: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:63: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                               ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
       else
-        #t246.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:71: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+        #t214.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:220:71: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else 3.14, null};
                                                                       ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String?) → core::bool};
-    #t246.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
-  } =>#t246;
+    #t214.{core::Set::add}{Invariant}(null){(core::String?) → core::bool};
+  } =>#t214;
   block {
-    final core::Map<core::String, core::String?> #t247 = <core::String, core::String?>{};
+    final core::Map<core::String, core::String?> #t215 = <core::String, core::String?>{};
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:78: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:78: Error: A value of type 'int' can't be assigned to a variable of type 'String?'.
   <String, String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                              ^" in 42 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
       else
-        #t247.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:93: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
+        #t215.{core::Map::[]=}{Invariant}("bar", invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:221:93: Error: A value of type 'double' can't be assigned to a variable of type 'String?'.
   <String, String?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else \"bar\": 3.14, \"baz\": null};
                                                                                             ^" in 3.14 as{TypeError,ForNonNullableByDefault} core::String?){(core::String, core::String?) → void};
-    #t247.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
-  } =>#t247;
+    #t215.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::String?) → void};
+  } =>#t215;
   block {
-    final core::List<core::int> #t248 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t216 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t248.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t216.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:222:62: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42];
                                                              ^"){(core::int) → void};
       else
-        #t248.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t248;
+        #t216.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t216;
   block {
-    final core::Set<core::int?> #t249 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t217 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t249.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:223:63: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t217.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:223:63: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...map else 42, null};
                                                               ^"){(core::int?) → core::bool};
       else
-        #t249.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t249.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t249;
+        #t217.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t217.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t217;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:224:71: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
@@ -2085,28 +1925,28 @@
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) ...list else \"bar\": 42, \"baz\": null};
                                                                       ^": null};
   block {
-    final core::List<core::int> #t250 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t218 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t250.{core::List::add}{Invariant}(42){(core::int) → void};
+        #t218.{core::List::add}{Invariant}(42){(core::int) → void};
       else
-        #t250.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t218.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:225:70: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int>[for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map];
                                                                      ^"){(core::int) → void};
-  } =>#t250;
+  } =>#t218;
   block {
-    final core::Set<core::int?> #t251 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t219 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (core::int i = 0; self::oracle<core::String>("foo") as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool; i = i.{core::num::+}(1){(core::num) → core::int})
       if(self::oracle<dynamic>() as{TypeError,ForDynamic,ForNonNullableByDefault} core::bool)
-        #t251.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+        #t219.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
       else
-        #t251.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:226:71: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
+        #t219.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:226:71: Error: Unexpected type 'Map<int, int>' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
   <int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) 42 else ...map, null};
                                                                       ^"){(core::int?) → core::bool};
-    #t251.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t251;
+    #t219.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t219;
   <core::String, core::int?>{invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:227:86: Error: Unexpected type 'List<int>' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
   <String, int?>{for (int i = 0; oracle(\"foo\"); i++) if (oracle()) \"bar\": 42 else ...list, \"baz\": null};
@@ -2116,54 +1956,54 @@
                                                                                      ^": null};
   final core::int i = 0;
   block {
-    final core::List<core::int> #t252 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t220 = core::_GrowableList::•<core::int>(0);
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal1<core::int>(1).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::int #t253 = :sync-for-iterator.{core::Iterator::current}{core::int};
+        final core::int #t221 = :sync-for-iterator.{core::Iterator::current}{core::int};
         {
           invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:230:14: Error: Can't assign to the final variable 'i'.
   <int>[for (i in <int>[1]) i];
              ^";
-          #t252.{core::List::add}{Invariant}(i){(core::int) → void};
+          #t220.{core::List::add}{Invariant}(i){(core::int) → void};
         }
       }
     }
-  } =>#t252;
+  } =>#t220;
   block {
-    final core::Set<core::int?> #t254 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t222 = new col::_CompactLinkedHashSet::•<core::int?>();
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal1<core::int>(1).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::int #t255 = :sync-for-iterator.{core::Iterator::current}{core::int};
+        final core::int #t223 = :sync-for-iterator.{core::Iterator::current}{core::int};
         {
           invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:231:15: Error: Can't assign to the final variable 'i'.
   <int?>{for (i in <int>[1]) i, null};
               ^";
-          #t254.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+          #t222.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
         }
       }
     }
-    #t254.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t254;
+    #t222.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t222;
   block {
-    final core::Map<core::String, core::int?> #t256 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t224 = <core::String, core::int?>{};
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal1<core::int>(1).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::int #t257 = :sync-for-iterator.{core::Iterator::current}{core::int};
+        final core::int #t225 = :sync-for-iterator.{core::Iterator::current}{core::int};
         {
           invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:232:23: Error: Can't assign to the final variable 'i'.
   <String, int?>{for (i in <int>[1]) \"bar\": i, \"baz\": null};
                       ^";
-          #t256.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+          #t224.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
         }
       }
     }
-    #t256.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t256;
+    #t224.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t224;
   core::List<dynamic> list10 = block {
-    final core::List<dynamic> #t258 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t226 = core::_GrowableList::•<dynamic>(0);
     {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:234:31: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
@@ -2171,12 +2011,12 @@
                               ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>.{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{Never};
-        #t258.{core::List::add}{Invariant}(i){(dynamic) → void};
+        #t226.{core::List::add}{Invariant}(i){(dynamic) → void};
       }
     }
-  } =>#t258;
+  } =>#t226;
   core::Set<dynamic> set10 = block {
-    final core::Set<dynamic> #t259 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t227 = new col::_CompactLinkedHashSet::•<dynamic>();
     {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:235:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
@@ -2184,13 +2024,13 @@
                              ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>.{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{Never};
-        #t259.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
+        #t227.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
       }
     }
-    #t259.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t259;
+    #t227.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t227;
   core::Map<core::String, dynamic> map10 = block {
-    final core::Map<core::String, dynamic> #t260 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t228 = <core::String, dynamic>{};
     {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:236:30: Error: The type 'String' used in the 'for' loop must implement 'Iterable<dynamic>'.
  - 'Iterable' is from 'dart:core'.
@@ -2198,13 +2038,13 @@
                              ^" in "not iterable" as{TypeError,ForNonNullableByDefault} core::Iterable<dynamic>.{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic i = :sync-for-iterator.{core::Iterator::current}{Never};
-        #t260.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
+        #t228.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
       }
     }
-    #t260.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t260;
+    #t228.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t228;
   core::List<core::int> list20 = block {
-    final core::List<core::int> #t261 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t229 = core::_GrowableList::•<core::int>(0);
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:237:32: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list20 = [for (int i in [\"not\", \"int\"]) i];
@@ -2213,12 +2053,12 @@
                                       ^" in "int" as{TypeError,ForNonNullableByDefault} core::int).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
-        #t261.{core::List::add}{Invariant}(i){(core::int) → void};
+        #t229.{core::List::add}{Invariant}(i){(core::int) → void};
       }
     }
-  } =>#t261;
+  } =>#t229;
   core::Set<core::int?> set20 = block {
-    final core::Set<core::int?> #t262 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t230 = new col::_CompactLinkedHashSet::•<core::int?>();
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:238:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set20 = {for (int i in [\"not\", \"int\"]) i, null};
@@ -2227,13 +2067,13 @@
                                      ^" in "int" as{TypeError,ForNonNullableByDefault} core::int).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
-        #t262.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+        #t230.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
       }
     }
-    #t262.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t262;
+    #t230.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t230;
   core::Map<core::String, core::int?> map20 = block {
-    final core::Map<core::String, core::int?> #t263 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t231 = <core::String, core::int?>{};
     {
       core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:239:31: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map20 = {for (int i in [\"not\", \"int\"]) \"bar\": i, \"baz\": null};
@@ -2242,13 +2082,13 @@
                                      ^" in "int" as{TypeError,ForNonNullableByDefault} core::int).{core::Iterable::iterator}{core::Iterator<core::int>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         core::int i = :sync-for-iterator.{core::Iterator::current}{core::int};
-        #t263.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+        #t231.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
       }
     }
-    #t263.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t263;
+    #t231.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t231;
   core::List<dynamic> list30 = block {
-    final core::List<dynamic> #t264 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t232 = core::_GrowableList::•<dynamic>(0);
     {
       Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:240:37: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
@@ -2256,17 +2096,17 @@
                                     ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>;
       asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
       try
-        while (let dynamic #t265 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t233 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
-          #t264.{core::List::add}{Invariant}(i){(dynamic) → void};
+          #t232.{core::List::add}{Invariant}(i){(dynamic) → void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-  } =>#t264;
+  } =>#t232;
   core::Set<dynamic> set30 = block {
-    final core::Set<dynamic> #t266 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Set<dynamic> #t234 = new col::_CompactLinkedHashSet::•<dynamic>();
     {
       Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:241:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
@@ -2274,18 +2114,18 @@
                                    ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>;
       asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
       try
-        while (let dynamic #t267 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t235 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
-          #t266.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
+          #t234.{core::Set::add}{Invariant}(i){(dynamic) → core::bool};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t266.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
-  } =>#t266;
+    #t234.{core::Set::add}{Invariant}(null){(dynamic) → core::bool};
+  } =>#t234;
   core::Map<core::String, dynamic> map30 = block {
-    final core::Map<core::String, dynamic> #t268 = <core::String, dynamic>{};
+    final core::Map<core::String, dynamic> #t236 = <core::String, dynamic>{};
     {
       Never :stream = invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:242:36: Error: The type 'String' used in the 'for' loop must implement 'Stream<dynamic>'.
  - 'Stream' is from 'dart:async'.
@@ -2293,18 +2133,18 @@
                                    ^" in "not stream" as{TypeError,ForNonNullableByDefault} asy::Stream<dynamic>;
       asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
       try
-        while (let dynamic #t269 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t237 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           dynamic i = :for-iterator.{asy::_StreamIterator::current}{dynamic};
-          #t268.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
+          #t236.{core::Map::[]=}{Invariant}("bar", i){(core::String, dynamic) → void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t268.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
-  } =>#t268;
+    #t236.{core::Map::[]=}{Invariant}("baz", null){(core::String, dynamic) → void};
+  } =>#t236;
   core::List<core::int> list40 = block {
-    final core::List<core::int> #t270 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t238 = core::_GrowableList::•<core::int>(0);
     {
       asy::Stream<core::int> :stream = asy::Stream::fromIterable<core::int>(core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:243:58: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var list40 = [await for (int i in Stream.fromIterable([\"not\", \"int\"])) i];
@@ -2313,17 +2153,17 @@
                                                                 ^" in "int" as{TypeError,ForNonNullableByDefault} core::int));
       asy::_StreamIterator<core::int>? :for-iterator = new asy::_StreamIterator::•<core::int>(:stream);
       try
-        while (let dynamic #t271 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t239 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           core::int i = :for-iterator.{asy::_StreamIterator::current}{core::int};
-          #t270.{core::List::add}{Invariant}(i){(core::int) → void};
+          #t238.{core::List::add}{Invariant}(i){(core::int) → void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-  } =>#t270;
+  } =>#t238;
   core::Set<core::int?> set40 = block {
-    final core::Set<core::int?> #t272 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t240 = new col::_CompactLinkedHashSet::•<core::int?>();
     {
       asy::Stream<core::int> :stream = asy::Stream::fromIterable<core::int>(core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:244:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var set40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) i, null};
@@ -2332,18 +2172,18 @@
                                                                ^" in "int" as{TypeError,ForNonNullableByDefault} core::int));
       asy::_StreamIterator<core::int>? :for-iterator = new asy::_StreamIterator::•<core::int>(:stream);
       try
-        while (let dynamic #t273 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t241 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           core::int i = :for-iterator.{asy::_StreamIterator::current}{core::int};
-          #t272.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
+          #t240.{core::Set::add}{Invariant}(i){(core::int?) → core::bool};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t272.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t272;
+    #t240.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t240;
   core::Map<core::String, core::int?> map40 = block {
-    final core::Map<core::String, core::int?> #t274 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t242 = <core::String, core::int?>{};
     {
       asy::Stream<core::int> :stream = asy::Stream::fromIterable<core::int>(core::_GrowableList::_literal2<core::int>(invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:245:57: Error: A value of type 'String' can't be assigned to a variable of type 'int'.
   var map40 = {await for (int i in Stream.fromIterable([\"not\", \"int\"])) \"bar\": i, \"baz\": null};
@@ -2352,90 +2192,90 @@
                                                                ^" in "int" as{TypeError,ForNonNullableByDefault} core::int));
       asy::_StreamIterator<core::int>? :for-iterator = new asy::_StreamIterator::•<core::int>(:stream);
       try
-        while (let dynamic #t275 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
+        while (let dynamic #t243 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
           core::int i = :for-iterator.{asy::_StreamIterator::current}{core::int};
-          #t274.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
+          #t242.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int?) → void};
         }
       finally
         if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::int>?} == null))
           await :for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>};
     }
-    #t274.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t274;
+    #t242.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t242;
   core::List<core::int> list50 = block {
-    final core::List<core::int> #t276 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t244 = core::_GrowableList::•<core::int>(0);
     for (; ; )
-      #t276.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t276;
+      #t244.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t244;
   core::Set<core::int?> set50 = block {
-    final core::Set<core::int?> #t277 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t245 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (; ; )
-      #t277.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t277.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t277;
+      #t245.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t245.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t245;
   core::Map<core::String, core::int?> map50 = block {
-    final core::Map<core::String, core::int?> #t278 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t246 = <core::String, core::int?>{};
     for (; ; )
-      #t278.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t278.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t278;
+      #t246.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t246.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t246;
   core::List<core::int> list60 = block {
-    final core::List<core::int> #t279 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t247 = core::_GrowableList::•<core::int>(0);
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:249:24: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var list60 = [for (; \"not bool\";) 42];
                        ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t279.{core::List::add}{Invariant}(42){(core::int) → void};
-  } =>#t279;
+      #t247.{core::List::add}{Invariant}(42){(core::int) → void};
+  } =>#t247;
   core::Set<core::int?> set60 = block {
-    final core::Set<core::int?> #t280 = new col::_CompactLinkedHashSet::•<core::int?>();
+    final core::Set<core::int?> #t248 = new col::_CompactLinkedHashSet::•<core::int?>();
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:250:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var set60 = {for (; \"not bool\";) 42, null};
                       ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t280.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
-    #t280.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
-  } =>#t280;
+      #t248.{core::Set::add}{Invariant}(42){(core::int?) → core::bool};
+    #t248.{core::Set::add}{Invariant}(null){(core::int?) → core::bool};
+  } =>#t248;
   core::Map<core::String, core::int?> map60 = block {
-    final core::Map<core::String, core::int?> #t281 = <core::String, core::int?>{};
+    final core::Map<core::String, core::int?> #t249 = <core::String, core::int?>{};
     for (; invalid-expression "pkg/front_end/testcases/general/control_flow_collection_inference2.dart:251:23: Error: A value of type 'String' can't be assigned to a variable of type 'bool'.
   var map60 = {for (; \"not bool\";) \"bar\": 42, \"baz\": null};
                       ^" in "not bool" as{TypeError,ForNonNullableByDefault} core::bool; )
-      #t281.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
-    #t281.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
-  } =>#t281;
+      #t249.{core::Map::[]=}{Invariant}("bar", 42){(core::String, core::int?) → void};
+    #t249.{core::Map::[]=}{Invariant}("baz", null){(core::String, core::int?) → void};
+  } =>#t249;
 }
 static method testForElementErrorsNotAsync(asy::Stream<core::int> stream) → dynamic {
   block {
-    final core::List<core::int> #t282 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t250 = core::_GrowableList::•<core::int>(0);
     await for (core::int i in stream)
-      #t282.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t282;
+      #t250.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t250;
   block {
-    final core::Set<core::int> #t283 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t251 = new col::_CompactLinkedHashSet::•<core::int>();
     await for (core::int i in stream)
-      #t283.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
-  } =>#t283;
+      #t251.{core::Set::add}{Invariant}(i){(core::int) → core::bool};
+  } =>#t251;
   block {
-    final core::Map<core::String, core::int> #t284 = <core::String, core::int>{};
+    final core::Map<core::String, core::int> #t252 = <core::String, core::int>{};
     await for (core::int i in stream)
-      #t284.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int) → void};
-  } =>#t284;
+      #t252.{core::Map::[]=}{Invariant}("bar", i){(core::String, core::int) → void};
+  } =>#t252;
 }
 static method testPromotion(self::A a) → dynamic {
   core::List<core::int> list10 = block {
-    final core::List<core::int> #t285 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t253 = core::_GrowableList::•<core::int>(0);
     if(a is{ForNonNullableByDefault} self::B)
-      #t285.{core::List::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → void};
-  } =>#t285;
+      #t253.{core::List::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → void};
+  } =>#t253;
   core::Set<core::int> set10 = block {
-    final core::Set<core::int> #t286 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t254 = new col::_CompactLinkedHashSet::•<core::int>();
     if(a is{ForNonNullableByDefault} self::B)
-      #t286.{core::Set::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → core::bool};
-  } =>#t286;
+      #t254.{core::Set::add}{Invariant}(a{self::B}.{self::B::foo}{core::int}){(core::int) → core::bool};
+  } =>#t254;
   core::Map<core::int, core::int> map10 = block {
-    final core::Map<core::int, core::int> #t287 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t255 = <core::int, core::int>{};
     if(a is{ForNonNullableByDefault} self::B)
-      #t287.{core::Map::[]=}{Invariant}(a{self::B}.{self::B::foo}{core::int}, a{self::B}.{self::B::foo}{core::int}){(core::int, core::int) → void};
-  } =>#t287;
+      #t255.{core::Map::[]=}{Invariant}(a{self::B}.{self::B::foo}{core::int}, a{self::B}.{self::B::foo}{core::int}){(core::int, core::int) → void};
+  } =>#t255;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
index c33fb3c..dda9cb2 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.expect
@@ -26,8 +26,7 @@
     #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int*, core::String*) →* void};
     final core::Map<core::int*, core::String*>* #t6 = map;
     if(!(#t6 == null))
-      for (final has-declared-initializer core::MapEntry<core::int*, core::String*>* #t7 in #t6.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>})
-        #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int*}, #t7.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* void};
+      #t5.{core::Map::addAll}{Invariant}(#t6){(core::Map<core::int*, core::String*>*) →* void};
   } =>#t5;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.modular.expect
index c33fb3c..dda9cb2 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.modular.expect
@@ -26,8 +26,7 @@
     #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int*, core::String*) →* void};
     final core::Map<core::int*, core::String*>* #t6 = map;
     if(!(#t6 == null))
-      for (final has-declared-initializer core::MapEntry<core::int*, core::String*>* #t7 in #t6.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>})
-        #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int*}, #t7.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* void};
+      #t5.{core::Map::addAll}{Invariant}(#t6){(core::Map<core::int*, core::String*>*) →* void};
   } =>#t5;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
index 1dc0cf1..35da272 100644
--- a/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread.dart.weak.transformed.expect
@@ -25,13 +25,8 @@
     final core::Map<core::int*, core::String*>* #t5 = <core::int*, core::String*>{};
     #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int*, core::String*) →* void};
     final core::Map<core::int*, core::String*>* #t6 = map;
-    if(!(#t6 == null)) {
-      core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = #t6.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int*, core::String*>* #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
-        #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int*}, #t7.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* void};
-      }
-    }
+    if(!(#t6 == null))
+      #t5.{core::Map::addAll}{Invariant}(#t6){(core::Map<core::int*, core::String*>*) →* void};
   } =>#t5;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.expect
index 6cab861..941c0b0 100644
--- a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.expect
@@ -26,8 +26,7 @@
     #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int, core::String) → void};
     final core::Map<core::int, core::String>? #t6 = map;
     if(!(#t6 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::String> #t7 in #t6{core::Map<core::int, core::String>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::String>>})
-        #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int}, #t7.{core::MapEntry::value}{core::String}){(core::int, core::String) → void};
+      #t5.{core::Map::addAll}{Invariant}(#t6{core::Map<core::int, core::String>}){(core::Map<core::int, core::String>) → void};
   } =>#t5;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.modular.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.modular.expect
index 6cab861..941c0b0 100644
--- a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.modular.expect
@@ -26,8 +26,7 @@
     #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int, core::String) → void};
     final core::Map<core::int, core::String>? #t6 = map;
     if(!(#t6 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::String> #t7 in #t6{core::Map<core::int, core::String>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::String>>})
-        #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int}, #t7.{core::MapEntry::value}{core::String}){(core::int, core::String) → void};
+      #t5.{core::Map::addAll}{Invariant}(#t6{core::Map<core::int, core::String>}){(core::Map<core::int, core::String>) → void};
   } =>#t5;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.transformed.expect
index 57a3fe5..7d2fd80 100644
--- a/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/null_aware_spread2.dart.weak.transformed.expect
@@ -25,13 +25,8 @@
     final core::Map<core::int, core::String> #t5 = <core::int, core::String>{};
     #t5.{core::Map::[]=}{Invariant}(0, "foo"){(core::int, core::String) → void};
     final core::Map<core::int, core::String>? #t6 = map;
-    if(!(#t6 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::String>> :sync-for-iterator = #t6{core::Map<core::int, core::String>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::String>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::String>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::String> #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::String>};
-        #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{core::int}, #t7.{core::MapEntry::value}{core::String}){(core::int, core::String) → void};
-      }
-    }
+    if(!(#t6 == null))
+      #t5.{core::Map::addAll}{Invariant}(#t6{core::Map<core::int, core::String>}){(core::Map<core::int, core::String>) → void};
   } =>#t5;
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.weak.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
index 2b9991b..8df097b 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.expect
@@ -24,21 +24,19 @@
   final core::Map<core::int, core::int> aMap = block {
     final core::Map<core::int, core::int> #t3 = <core::int, core::int>{};
     #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    for (final has-declared-initializer core::MapEntry<core::int, core::int> #t4 in <core::int, core::int>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int}, #t4.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t5 = self::nullableMap;
-    if(!(#t5 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t6 in #t5{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int}, #t6.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+    #t3.{core::Map::addAll}{Invariant}(<core::int, core::int>{2: 2}){(core::Map<core::int, core::int>) → void};
+    final core::Map<core::int, core::int>? #t4 = self::nullableMap;
+    if(!(#t4 == null))
+      #t3.{core::Map::addAll}{Invariant}(#t4{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t3;
   final core::Set<core::int> aSet = block {
-    final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
-    #t7.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t7.{core::Set::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t8 = self::nullableList;
-    if(!(#t8 == null))
-      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t7;
+    final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
+    #t5.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t5.{core::Set::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t6 = self::nullableList;
+    if(!(#t6 == null))
+      #t5.{core::Set::addAll}{Invariant}(#t6{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t5;
   final Never aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   final aSetOrMap = {...foo()};
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect
index 2b9991b..8df097b 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.modular.expect
@@ -24,21 +24,19 @@
   final core::Map<core::int, core::int> aMap = block {
     final core::Map<core::int, core::int> #t3 = <core::int, core::int>{};
     #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    for (final has-declared-initializer core::MapEntry<core::int, core::int> #t4 in <core::int, core::int>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int}, #t4.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t5 = self::nullableMap;
-    if(!(#t5 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t6 in #t5{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int}, #t6.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+    #t3.{core::Map::addAll}{Invariant}(<core::int, core::int>{2: 2}){(core::Map<core::int, core::int>) → void};
+    final core::Map<core::int, core::int>? #t4 = self::nullableMap;
+    if(!(#t4 == null))
+      #t3.{core::Map::addAll}{Invariant}(#t4{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t3;
   final core::Set<core::int> aSet = block {
-    final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
-    #t7.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t7.{core::Set::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t8 = self::nullableList;
-    if(!(#t8 == null))
-      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t7;
+    final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
+    #t5.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t5.{core::Set::addAll}{Invariant}(<core::int>[2]){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t6 = self::nullableList;
+    if(!(#t6 == null))
+      #t5.{core::Set::addAll}{Invariant}(#t6{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t5;
   final Never aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   final aSetOrMap = {...foo()};
diff --git a/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect b/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
index e9f240b..a50001f 100644
--- a/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/spread_collection.dart.weak.transformed.expect
@@ -24,30 +24,19 @@
   final core::Map<core::int, core::int> aMap = block {
     final core::Map<core::int, core::int> #t3 = <core::int, core::int>{};
     #t3.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = <core::int, core::int>{2: 2}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{core::int}, #t4.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-    final core::Map<core::int, core::int>? #t5 = self::nullableMap;
-    if(!(#t5 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t5{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t3.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{core::int}, #t6.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
+    #t3.{core::Map::addAll}{Invariant}(<core::int, core::int>{2: 2}){(core::Map<core::int, core::int>) → void};
+    final core::Map<core::int, core::int>? #t4 = self::nullableMap;
+    if(!(#t4 == null))
+      #t3.{core::Map::addAll}{Invariant}(#t4{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t3;
   final core::Set<core::int> aSet = block {
-    final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t7.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t7.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(2)){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t8 = self::nullableList;
-    if(!(#t8 == null))
-      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t7;
+    final core::Set<core::int> #t5 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t5.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t5.{core::Set::addAll}{Invariant}(core::_GrowableList::_literal1<core::int>(2)){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t6 = self::nullableList;
+    if(!(#t6 == null))
+      #t5.{core::Set::addAll}{Invariant}(#t6{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t5;
   final Never aSetOrMap = invalid-expression "pkg/front_end/testcases/general/spread_collection.dart:24:21: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   final aSetOrMap = {...foo()};
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
index 005f4e1..e6c4348 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.expect
@@ -112,95 +112,69 @@
     final core::Set<dynamic>* #t2 = col::LinkedHashSet::of<dynamic>(<dynamic>[]);
   } =>#t2;
   core::Map<dynamic, dynamic>* map10 = block {
-    final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t4 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    final core::Map<dynamic, dynamic>* #t3 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
   } =>#t3;
   core::Map<dynamic, dynamic>* map10ambiguous = block {
-    final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t6 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-  } =>#t5;
+    final core::Map<dynamic, dynamic>* #t4 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
+  } =>#t4;
   core::List<core::int*>* lhs20 = block {
-    final core::List<core::int*>* #t7 = core::List::of<core::int*>(spread);
-  } =>#t7;
+    final core::List<core::int*>* #t5 = core::List::of<core::int*>(spread);
+  } =>#t5;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t8 = col::LinkedHashSet::of<core::int*>(spread);
-    #t8.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t8;
+    final core::Set<core::int*>* #t6 = col::LinkedHashSet::of<core::int*>(spread);
+    #t6.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t6;
   core::Set<core::int*>* set20ambiguous = block {
-    final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
-    for (final has-declared-initializer dynamic #t10 in spread) {
-      final core::int* #t11 = #t10 as{TypeError} core::int*;
-      #t9.{core::Set::add}{Invariant}(#t11){(core::int*) →* core::bool*};
-    }
-  } =>#t9;
+    final core::Set<core::int*>* #t7 = col::LinkedHashSet::of<core::int*>(spread);
+  } =>#t7;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t13 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
-  } =>#t12;
+    final core::Map<core::String*, core::int*>* #t8 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+    #t8.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
+  } =>#t8;
   core::Map<core::String*, core::int*>* map20ambiguous = block {
-    final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t15 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String*}, #t15.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t14;
+    final core::Map<core::String*, core::int*>* #t9 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+  } =>#t9;
   core::List<dynamic>* lhs21 = block {
-    final core::List<dynamic>* #t16 = core::List::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
-  } =>#t16;
+    final core::List<dynamic>* #t10 = core::List::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+  } =>#t10;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t17 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
-    #t17.{core::Set::add}{Invariant}(42){(dynamic) →* core::bool*};
-  } =>#t17;
+    final core::Set<dynamic>* #t11 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t11.{core::Set::add}{Invariant}(42){(dynamic) →* core::bool*};
+  } =>#t11;
   core::Map<dynamic, dynamic>* map21 = block {
-    final core::Map<dynamic, dynamic>* #t18 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t19 in ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-    #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
-  } =>#t18;
+    final core::Map<dynamic, dynamic>* #t12 = col::LinkedHashMap::of<dynamic, dynamic>((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*);
+    #t12.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
+  } =>#t12;
   dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   dynamic map21ambiguous = {...(mapSpread as dynamic)};
                            ^";
   core::List<core::int*>* lhs22 = block {
-    final core::List<core::int*>* #t20 = core::List::of<core::int*>(<core::int*>[]);
-  } =>#t20;
+    final core::List<core::int*>* #t13 = core::List::of<core::int*>(<core::int*>[]);
+  } =>#t13;
   core::Set<core::int*>* set22 = block {
-    final core::Set<core::int*>* #t21 = col::LinkedHashSet::of<core::int*>(<core::int*>[]);
-    #t21.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t21;
+    final core::Set<core::int*>* #t14 = col::LinkedHashSet::of<core::int*>(<core::int*>[]);
+    #t14.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t14;
   core::Set<core::int*>* set22ambiguous = block {
-    final core::Set<core::int*>* #t22 = col::LinkedHashSet::•<core::int*>();
-    for (final has-declared-initializer dynamic #t23 in <core::int*>[]) {
-      final core::int* #t24 = #t23 as{TypeError} core::int*;
-      #t22.{core::Set::add}{Invariant}(#t24){(core::int*) →* core::bool*};
-    }
-  } =>#t22;
+    final core::Set<core::int*>* #t15 = col::LinkedHashSet::of<core::int*>(<core::int*>[]);
+  } =>#t15;
   core::Map<core::String*, core::int*>* map22 = block {
-    final core::Map<core::String*, core::int*>* #t25 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t26 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String*}, #t26.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t25;
+    final core::Map<core::String*, core::int*>* #t16 = col::LinkedHashMap::of<core::String*, core::int*>(<core::String*, core::int*>{});
+  } =>#t16;
   core::List<core::List<core::int*>*>* lhs23 = block {
-    final core::List<core::List<core::int*>*>* #t27 = core::List::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
-  } =>#t27;
+    final core::List<core::List<core::int*>*>* #t17 = core::List::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
+  } =>#t17;
   core::Set<core::List<core::int*>*>* set23 = block {
-    final core::Set<core::List<core::int*>*>* #t28 = col::LinkedHashSet::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
-    #t28.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
-  } =>#t28;
+    final core::Set<core::List<core::int*>*>* #t18 = col::LinkedHashSet::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
+    #t18.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+  } =>#t18;
   core::Set<core::List<core::int*>*>* set23ambiguous = block {
-    final core::Set<core::List<core::int*>*>* #t29 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (final has-declared-initializer dynamic #t30 in <core::List<core::int*>*>[<core::int*>[]]) {
-      final core::List<core::int*>* #t31 = #t30 as{TypeError} core::List<core::int*>*;
-      #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int*>*) →* core::bool*};
-    }
-  } =>#t29;
+    final core::Set<core::List<core::int*>*>* #t19 = col::LinkedHashSet::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
+  } =>#t19;
   core::Map<core::String*, core::List<core::int*>*>* map23 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t33 in <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-      #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t32;
+    final core::Map<core::String*, core::List<core::int*>*>* #t20 = col::LinkedHashMap::of<core::String*, core::List<core::int*>*>(<core::String*, core::List<core::int*>*>{"baz": <core::int*>[]});
+  } =>#t20;
   dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   dynamic map24ambiguous = {...spread, ...mapSpread};
                            ^";
@@ -208,51 +182,43 @@
  - 'List' is from 'dart:core'.
   int lhs30 = /*@typeArgs=int**/ [...spread];
                                  ^" in ( block {
-    final core::List<core::int*>* #t34 = core::List::of<core::int*>(spread);
-  } =>#t34) as{TypeError} core::int*;
+    final core::List<core::int*>* #t21 = core::List::of<core::int*>(spread);
+  } =>#t21) as{TypeError} core::int*;
   core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
   int set30 = /*@typeArgs=int**/ {...spread, 42};
                                  ^" in ( block {
-    final core::Set<core::int*>* #t35 = col::LinkedHashSet::of<core::int*>(spread);
-    #t35.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t35) as{TypeError} core::int*;
+    final core::Set<core::int*>* #t22 = col::LinkedHashSet::of<core::int*>(spread);
+    #t22.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t22) as{TypeError} core::int*;
   core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
       {...spread};
       ^" in ( block {
-    final core::Set<core::int*>* #t36 = col::LinkedHashSet::•<core::int*>();
-    for (final has-declared-initializer dynamic #t37 in spread) {
-      final core::int* #t38 = #t37 as{TypeError} core::int*;
-      #t36.{core::Set::add}{Invariant}(#t38){(core::int*) →* core::bool*};
-    }
-  } =>#t36) as{TypeError} core::int*;
+    final core::Set<core::int*>* #t23 = col::LinkedHashSet::of<core::int*>(spread);
+  } =>#t23) as{TypeError} core::int*;
   core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread, \"baz\": 42};
       ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t39 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t40 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String*}, #t40.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
-  } =>#t39) as{TypeError} core::int*;
+    final core::Map<core::String*, core::int*>* #t24 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+    #t24.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
+  } =>#t24) as{TypeError} core::int*;
   core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread};
       ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t41 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String*}, #t42.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t41) as{TypeError} core::int*;
+    final core::Map<core::String*, core::int*>* #t25 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+  } =>#t25) as{TypeError} core::int*;
   core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
                                      ^"];
   core::Set<dynamic>* set40 = block {
-    final core::Set<dynamic>* #t43 = col::LinkedHashSet::•<dynamic>();
-    #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic>* #t26 = col::LinkedHashSet::•<dynamic>();
+    #t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
                                     ^"){(dynamic) →* core::bool*};
-  } =>#t43;
+  } =>#t26;
   core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
                                                       ^": null};
@@ -260,11 +226,11 @@
   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
                                      ^"];
   core::Set<dynamic>* set50 = block {
-    final core::Set<dynamic>* #t44 = col::LinkedHashSet::•<dynamic>();
-    #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic>* #t27 = col::LinkedHashSet::•<dynamic>();
+    #t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
                                     ^"){(dynamic) →* core::bool*};
-  } =>#t44;
+  } =>#t27;
   core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
                                                       ^": null};
@@ -272,11 +238,11 @@
   List<String> lhs60 = <String>[...spread];
                                    ^"];
   core::Set<core::String*>* set60 = block {
-    final core::Set<core::String*>* #t45 = col::LinkedHashSet::•<core::String*>();
-    #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+    final core::Set<core::String*>* #t28 = col::LinkedHashSet::•<core::String*>();
+    #t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
   Set<String> set60 = <String>{...spread};
                                   ^"){(core::String*) →* core::bool*};
-  } =>#t45;
+  } =>#t28;
   core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
   Map<int, int> map60 = <int, int>{...mapSpread};
                                       ^": null};
@@ -287,90 +253,78 @@
   List<int> lhs70 = <int>[...null];
                              ^"];
   core::Set<core::int*>* set70 = block {
-    final core::Set<core::int*>* #t46 = col::LinkedHashSet::•<core::int*>();
-    #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
+    final core::Set<core::int*>* #t29 = col::LinkedHashSet::•<core::int*>();
+    #t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
   Set<int> set70 = <int>{...null};
                             ^"){(core::int*) →* core::bool*};
-  } =>#t46;
+  } =>#t29;
   core::Set<dynamic>* set71ambiguous = block {
-    final core::Set<dynamic>* #t47 = col::LinkedHashSet::•<dynamic>();
-    #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
+    final core::Set<dynamic>* #t30 = col::LinkedHashSet::•<dynamic>();
+    #t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
     ...null,
        ^"){(dynamic) →* core::bool*};
-    for (final has-declared-initializer dynamic #t48 in <dynamic>[]) {
-      final dynamic #t49 = #t48 as{TypeError} dynamic;
-      #t47.{core::Set::add}{Invariant}(#t49){(dynamic) →* core::bool*};
-    }
-  } =>#t47;
+    #t30.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>*) →* void};
+  } =>#t30;
   core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
   Map<String, int> map70 = <String, int>{...null};
                                             ^": null};
   core::List<core::int*>* lhs80 = block {
-    final core::List<core::int*>* #t50 = <core::int*>[];
-    final has-declared-initializer core::Iterable<core::int*>* #t51 = null;
-    if(!(#t51 == null))
-      #t50.{core::List::addAll}{Invariant}(#t51){(core::Iterable<core::int*>*) →* void};
-  } =>#t50;
+    final core::List<core::int*>* #t31 = <core::int*>[];
+    final has-declared-initializer core::Iterable<core::int*>* #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::List::addAll}{Invariant}(#t32){(core::Iterable<core::int*>*) →* void};
+  } =>#t31;
   core::Set<core::int*>* set80 = block {
-    final core::Set<core::int*>* #t52 = col::LinkedHashSet::•<core::int*>();
-    final has-declared-initializer core::Iterable<core::int*>* #t53 = null;
-    if(!(#t53 == null))
-      #t52.{core::Set::addAll}{Invariant}(#t53){(core::Iterable<core::int*>*) →* void};
-  } =>#t52;
+    final core::Set<core::int*>* #t33 = col::LinkedHashSet::•<core::int*>();
+    final has-declared-initializer core::Iterable<core::int*>* #t34 = null;
+    if(!(#t34 == null))
+      #t33.{core::Set::addAll}{Invariant}(#t34){(core::Iterable<core::int*>*) →* void};
+  } =>#t33;
   core::Set<dynamic>* set81ambiguous = block {
-    final core::Set<dynamic>* #t54 = col::LinkedHashSet::•<dynamic>();
-    final has-declared-initializer core::Iterable<dynamic>* #t55 = null;
-    if(!(#t55 == null))
-      for (final has-declared-initializer dynamic #t56 in #t55) {
-        final dynamic #t57 = #t56 as{TypeError} dynamic;
-        #t54.{core::Set::add}{Invariant}(#t57){(dynamic) →* core::bool*};
-      }
-    for (final has-declared-initializer dynamic #t58 in <dynamic>[]) {
-      final dynamic #t59 = #t58 as{TypeError} dynamic;
-      #t54.{core::Set::add}{Invariant}(#t59){(dynamic) →* core::bool*};
-    }
-  } =>#t54;
+    final core::Set<dynamic>* #t35 = col::LinkedHashSet::•<dynamic>();
+    final has-declared-initializer core::Iterable<dynamic>* #t36 = null;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36){(core::Iterable<dynamic>*) →* void};
+    #t35.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>*) →* void};
+  } =>#t35;
   core::Map<core::String*, core::int*>* map80 = block {
-    final core::Map<core::String*, core::int*>* #t60 = <core::String*, core::int*>{};
-    final has-declared-initializer core::Map<core::String*, core::int*>* #t61 = null;
-    if(!(#t61 == null))
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t62 in #t61.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String*}, #t62.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t60;
+    final core::Map<core::String*, core::int*>* #t37 = <core::String*, core::int*>{};
+    final has-declared-initializer core::Map<core::String*, core::int*>* #t38 = null;
+    if(!(#t38 == null))
+      #t37.{core::Map::addAll}{Invariant}(#t38){(core::Map<core::String*, core::int*>*) →* void};
+  } =>#t37;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t63 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t64 in self::bar<core::String*, core::int*>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String*}, #t64.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t63;
+    final core::Map<core::String*, core::int*>* #t39 = col::LinkedHashMap::of<core::String*, core::int*>(self::bar<core::String*, core::int*>());
+  } =>#t39;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t65 = <core::int*>[];
-    for (final has-declared-initializer dynamic #t66 in listNum) {
-      final core::int* #t67 = #t66 as{TypeError} core::int*;
-      #t65.{core::List::add}{Invariant}(#t67){(core::int*) →* void};
+    final core::List<core::int*>* #t40 = <core::int*>[];
+    for (final has-declared-initializer dynamic #t41 in listNum) {
+      final core::int* #t42 = #t41 as{TypeError} core::int*;
+      #t40.{core::List::add}{Invariant}(#t42){(core::int*) →* void};
     }
-  } =>#t65;
+  } =>#t40;
   core::Map<core::num*, core::int*>* map100 = block {
-    final core::Map<core::num*, core::int*>* #t68 = <core::num*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t69 in mapIntNum.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
-      final core::num* #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
-      final core::int* #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-      #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num*, core::int*) →* void};
+    final core::Map<core::num*, core::int*>* #t43 = <core::num*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t44 in mapIntNum.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
+      final core::num* #t45 = #t44.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::int* #t46 = #t44.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t43.{core::Map::[]=}{Invariant}(#t45, #t46){(core::num*, core::int*) →* void};
     }
-  } =>#t68;
+  } =>#t43;
   core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t72 = <core::int*>[];
-    for (final has-declared-initializer dynamic #t73 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-      final core::int* #t74 = #t73 as{TypeError} core::int*;
-      #t72.{core::List::add}{Invariant}(#t74){(core::int*) →* void};
+    final core::List<core::int*>* #t47 = <core::int*>[];
+    for (final has-declared-initializer dynamic #t48 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t49 = #t48 as{TypeError} core::int*;
+      #t47.{core::List::add}{Invariant}(#t49){(core::int*) →* void};
     }
-  } =>#t72;
+  } =>#t47;
   core::Map<core::num*, core::int*>* map110 = block {
-    final core::Map<core::num*, core::int*>* #t75 = <core::num*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t76 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
-      final core::num* #t77 = #t76.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
-      final core::int* #t78 = #t76.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-      #t75.{core::Map::[]=}{Invariant}(#t77, #t78){(core::num*, core::int*) →* void};
+    final core::Map<core::num*, core::int*>* #t50 = <core::num*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t51 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
+      final core::num* #t52 = #t51.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::int* #t53 = #t51.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t50.{core::Map::[]=}{Invariant}(#t52, #t53){(core::num*, core::int*) →* void};
     }
-  } =>#t75;
+  } =>#t50;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect
index 005f4e1..e6c4348 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.modular.expect
@@ -112,95 +112,69 @@
     final core::Set<dynamic>* #t2 = col::LinkedHashSet::of<dynamic>(<dynamic>[]);
   } =>#t2;
   core::Map<dynamic, dynamic>* map10 = block {
-    final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t4 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
+    final core::Map<dynamic, dynamic>* #t3 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
   } =>#t3;
   core::Map<dynamic, dynamic>* map10ambiguous = block {
-    final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t6 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-  } =>#t5;
+    final core::Map<dynamic, dynamic>* #t4 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
+  } =>#t4;
   core::List<core::int*>* lhs20 = block {
-    final core::List<core::int*>* #t7 = core::List::of<core::int*>(spread);
-  } =>#t7;
+    final core::List<core::int*>* #t5 = core::List::of<core::int*>(spread);
+  } =>#t5;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t8 = col::LinkedHashSet::of<core::int*>(spread);
-    #t8.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t8;
+    final core::Set<core::int*>* #t6 = col::LinkedHashSet::of<core::int*>(spread);
+    #t6.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t6;
   core::Set<core::int*>* set20ambiguous = block {
-    final core::Set<core::int*>* #t9 = col::LinkedHashSet::•<core::int*>();
-    for (final has-declared-initializer dynamic #t10 in spread) {
-      final core::int* #t11 = #t10 as{TypeError} core::int*;
-      #t9.{core::Set::add}{Invariant}(#t11){(core::int*) →* core::bool*};
-    }
-  } =>#t9;
+    final core::Set<core::int*>* #t7 = col::LinkedHashSet::of<core::int*>(spread);
+  } =>#t7;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t13 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
-  } =>#t12;
+    final core::Map<core::String*, core::int*>* #t8 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+    #t8.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
+  } =>#t8;
   core::Map<core::String*, core::int*>* map20ambiguous = block {
-    final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t15 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String*}, #t15.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t14;
+    final core::Map<core::String*, core::int*>* #t9 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+  } =>#t9;
   core::List<dynamic>* lhs21 = block {
-    final core::List<dynamic>* #t16 = core::List::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
-  } =>#t16;
+    final core::List<dynamic>* #t10 = core::List::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+  } =>#t10;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t17 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
-    #t17.{core::Set::add}{Invariant}(42){(dynamic) →* core::bool*};
-  } =>#t17;
+    final core::Set<dynamic>* #t11 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t11.{core::Set::add}{Invariant}(42){(dynamic) →* core::bool*};
+  } =>#t11;
   core::Map<dynamic, dynamic>* map21 = block {
-    final core::Map<dynamic, dynamic>* #t18 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t19 in ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-    #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
-  } =>#t18;
+    final core::Map<dynamic, dynamic>* #t12 = col::LinkedHashMap::of<dynamic, dynamic>((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*);
+    #t12.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
+  } =>#t12;
   dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   dynamic map21ambiguous = {...(mapSpread as dynamic)};
                            ^";
   core::List<core::int*>* lhs22 = block {
-    final core::List<core::int*>* #t20 = core::List::of<core::int*>(<core::int*>[]);
-  } =>#t20;
+    final core::List<core::int*>* #t13 = core::List::of<core::int*>(<core::int*>[]);
+  } =>#t13;
   core::Set<core::int*>* set22 = block {
-    final core::Set<core::int*>* #t21 = col::LinkedHashSet::of<core::int*>(<core::int*>[]);
-    #t21.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t21;
+    final core::Set<core::int*>* #t14 = col::LinkedHashSet::of<core::int*>(<core::int*>[]);
+    #t14.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t14;
   core::Set<core::int*>* set22ambiguous = block {
-    final core::Set<core::int*>* #t22 = col::LinkedHashSet::•<core::int*>();
-    for (final has-declared-initializer dynamic #t23 in <core::int*>[]) {
-      final core::int* #t24 = #t23 as{TypeError} core::int*;
-      #t22.{core::Set::add}{Invariant}(#t24){(core::int*) →* core::bool*};
-    }
-  } =>#t22;
+    final core::Set<core::int*>* #t15 = col::LinkedHashSet::of<core::int*>(<core::int*>[]);
+  } =>#t15;
   core::Map<core::String*, core::int*>* map22 = block {
-    final core::Map<core::String*, core::int*>* #t25 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t26 in <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String*}, #t26.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t25;
+    final core::Map<core::String*, core::int*>* #t16 = col::LinkedHashMap::of<core::String*, core::int*>(<core::String*, core::int*>{});
+  } =>#t16;
   core::List<core::List<core::int*>*>* lhs23 = block {
-    final core::List<core::List<core::int*>*>* #t27 = core::List::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
-  } =>#t27;
+    final core::List<core::List<core::int*>*>* #t17 = core::List::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
+  } =>#t17;
   core::Set<core::List<core::int*>*>* set23 = block {
-    final core::Set<core::List<core::int*>*>* #t28 = col::LinkedHashSet::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
-    #t28.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
-  } =>#t28;
+    final core::Set<core::List<core::int*>*>* #t18 = col::LinkedHashSet::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
+    #t18.{core::Set::add}{Invariant}(<core::int*>[42]){(core::List<core::int*>*) →* core::bool*};
+  } =>#t18;
   core::Set<core::List<core::int*>*>* set23ambiguous = block {
-    final core::Set<core::List<core::int*>*>* #t29 = col::LinkedHashSet::•<core::List<core::int*>*>();
-    for (final has-declared-initializer dynamic #t30 in <core::List<core::int*>*>[<core::int*>[]]) {
-      final core::List<core::int*>* #t31 = #t30 as{TypeError} core::List<core::int*>*;
-      #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int*>*) →* core::bool*};
-    }
-  } =>#t29;
+    final core::Set<core::List<core::int*>*>* #t19 = col::LinkedHashSet::of<core::List<core::int*>*>(<core::List<core::int*>*>[<core::int*>[]]);
+  } =>#t19;
   core::Map<core::String*, core::List<core::int*>*>* map23 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::List<core::int*>*>* #t33 in <core::String*, core::List<core::int*>*>{"baz": <core::int*>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>})
-      #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-  } =>#t32;
+    final core::Map<core::String*, core::List<core::int*>*>* #t20 = col::LinkedHashMap::of<core::String*, core::List<core::int*>*>(<core::String*, core::List<core::int*>*>{"baz": <core::int*>[]});
+  } =>#t20;
   dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   dynamic map24ambiguous = {...spread, ...mapSpread};
                            ^";
@@ -208,51 +182,43 @@
  - 'List' is from 'dart:core'.
   int lhs30 = /*@typeArgs=int**/ [...spread];
                                  ^" in ( block {
-    final core::List<core::int*>* #t34 = core::List::of<core::int*>(spread);
-  } =>#t34) as{TypeError} core::int*;
+    final core::List<core::int*>* #t21 = core::List::of<core::int*>(spread);
+  } =>#t21) as{TypeError} core::int*;
   core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
   int set30 = /*@typeArgs=int**/ {...spread, 42};
                                  ^" in ( block {
-    final core::Set<core::int*>* #t35 = col::LinkedHashSet::of<core::int*>(spread);
-    #t35.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t35) as{TypeError} core::int*;
+    final core::Set<core::int*>* #t22 = col::LinkedHashSet::of<core::int*>(spread);
+    #t22.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t22) as{TypeError} core::int*;
   core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
       {...spread};
       ^" in ( block {
-    final core::Set<core::int*>* #t36 = col::LinkedHashSet::•<core::int*>();
-    for (final has-declared-initializer dynamic #t37 in spread) {
-      final core::int* #t38 = #t37 as{TypeError} core::int*;
-      #t36.{core::Set::add}{Invariant}(#t38){(core::int*) →* core::bool*};
-    }
-  } =>#t36) as{TypeError} core::int*;
+    final core::Set<core::int*>* #t23 = col::LinkedHashSet::of<core::int*>(spread);
+  } =>#t23) as{TypeError} core::int*;
   core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread, \"baz\": 42};
       ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t39 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t40 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String*}, #t40.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-    #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
-  } =>#t39) as{TypeError} core::int*;
+    final core::Map<core::String*, core::int*>* #t24 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+    #t24.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
+  } =>#t24) as{TypeError} core::int*;
   core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread};
       ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t41 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String*}, #t42.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t41) as{TypeError} core::int*;
+    final core::Map<core::String*, core::int*>* #t25 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+  } =>#t25) as{TypeError} core::int*;
   core::List<dynamic>* lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
                                      ^"];
   core::Set<dynamic>* set40 = block {
-    final core::Set<dynamic>* #t43 = col::LinkedHashSet::•<dynamic>();
-    #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic>* #t26 = col::LinkedHashSet::•<dynamic>();
+    #t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
                                     ^"){(dynamic) →* core::bool*};
-  } =>#t43;
+  } =>#t26;
   core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
                                                       ^": null};
@@ -260,11 +226,11 @@
   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
                                      ^"];
   core::Set<dynamic>* set50 = block {
-    final core::Set<dynamic>* #t44 = col::LinkedHashSet::•<dynamic>();
-    #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic>* #t27 = col::LinkedHashSet::•<dynamic>();
+    #t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
                                     ^"){(dynamic) →* core::bool*};
-  } =>#t44;
+  } =>#t27;
   core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
                                                       ^": null};
@@ -272,11 +238,11 @@
   List<String> lhs60 = <String>[...spread];
                                    ^"];
   core::Set<core::String*>* set60 = block {
-    final core::Set<core::String*>* #t45 = col::LinkedHashSet::•<core::String*>();
-    #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+    final core::Set<core::String*>* #t28 = col::LinkedHashSet::•<core::String*>();
+    #t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
   Set<String> set60 = <String>{...spread};
                                   ^"){(core::String*) →* core::bool*};
-  } =>#t45;
+  } =>#t28;
   core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
   Map<int, int> map60 = <int, int>{...mapSpread};
                                       ^": null};
@@ -287,90 +253,78 @@
   List<int> lhs70 = <int>[...null];
                              ^"];
   core::Set<core::int*>* set70 = block {
-    final core::Set<core::int*>* #t46 = col::LinkedHashSet::•<core::int*>();
-    #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
+    final core::Set<core::int*>* #t29 = col::LinkedHashSet::•<core::int*>();
+    #t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
   Set<int> set70 = <int>{...null};
                             ^"){(core::int*) →* core::bool*};
-  } =>#t46;
+  } =>#t29;
   core::Set<dynamic>* set71ambiguous = block {
-    final core::Set<dynamic>* #t47 = col::LinkedHashSet::•<dynamic>();
-    #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
+    final core::Set<dynamic>* #t30 = col::LinkedHashSet::•<dynamic>();
+    #t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
     ...null,
        ^"){(dynamic) →* core::bool*};
-    for (final has-declared-initializer dynamic #t48 in <dynamic>[]) {
-      final dynamic #t49 = #t48 as{TypeError} dynamic;
-      #t47.{core::Set::add}{Invariant}(#t49){(dynamic) →* core::bool*};
-    }
-  } =>#t47;
+    #t30.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>*) →* void};
+  } =>#t30;
   core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
   Map<String, int> map70 = <String, int>{...null};
                                             ^": null};
   core::List<core::int*>* lhs80 = block {
-    final core::List<core::int*>* #t50 = <core::int*>[];
-    final has-declared-initializer core::Iterable<core::int*>* #t51 = null;
-    if(!(#t51 == null))
-      #t50.{core::List::addAll}{Invariant}(#t51){(core::Iterable<core::int*>*) →* void};
-  } =>#t50;
+    final core::List<core::int*>* #t31 = <core::int*>[];
+    final has-declared-initializer core::Iterable<core::int*>* #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::List::addAll}{Invariant}(#t32){(core::Iterable<core::int*>*) →* void};
+  } =>#t31;
   core::Set<core::int*>* set80 = block {
-    final core::Set<core::int*>* #t52 = col::LinkedHashSet::•<core::int*>();
-    final has-declared-initializer core::Iterable<core::int*>* #t53 = null;
-    if(!(#t53 == null))
-      #t52.{core::Set::addAll}{Invariant}(#t53){(core::Iterable<core::int*>*) →* void};
-  } =>#t52;
+    final core::Set<core::int*>* #t33 = col::LinkedHashSet::•<core::int*>();
+    final has-declared-initializer core::Iterable<core::int*>* #t34 = null;
+    if(!(#t34 == null))
+      #t33.{core::Set::addAll}{Invariant}(#t34){(core::Iterable<core::int*>*) →* void};
+  } =>#t33;
   core::Set<dynamic>* set81ambiguous = block {
-    final core::Set<dynamic>* #t54 = col::LinkedHashSet::•<dynamic>();
-    final has-declared-initializer core::Iterable<dynamic>* #t55 = null;
-    if(!(#t55 == null))
-      for (final has-declared-initializer dynamic #t56 in #t55) {
-        final dynamic #t57 = #t56 as{TypeError} dynamic;
-        #t54.{core::Set::add}{Invariant}(#t57){(dynamic) →* core::bool*};
-      }
-    for (final has-declared-initializer dynamic #t58 in <dynamic>[]) {
-      final dynamic #t59 = #t58 as{TypeError} dynamic;
-      #t54.{core::Set::add}{Invariant}(#t59){(dynamic) →* core::bool*};
-    }
-  } =>#t54;
+    final core::Set<dynamic>* #t35 = col::LinkedHashSet::•<dynamic>();
+    final has-declared-initializer core::Iterable<dynamic>* #t36 = null;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36){(core::Iterable<dynamic>*) →* void};
+    #t35.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>*) →* void};
+  } =>#t35;
   core::Map<core::String*, core::int*>* map80 = block {
-    final core::Map<core::String*, core::int*>* #t60 = <core::String*, core::int*>{};
-    final has-declared-initializer core::Map<core::String*, core::int*>* #t61 = null;
-    if(!(#t61 == null))
-      for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t62 in #t61.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-        #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String*}, #t62.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t60;
+    final core::Map<core::String*, core::int*>* #t37 = <core::String*, core::int*>{};
+    final has-declared-initializer core::Map<core::String*, core::int*>* #t38 = null;
+    if(!(#t38 == null))
+      #t37.{core::Map::addAll}{Invariant}(#t38){(core::Map<core::String*, core::int*>*) →* void};
+  } =>#t37;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t63 = <core::String*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<core::String*, core::int*>* #t64 in self::bar<core::String*, core::int*>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>})
-      #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String*}, #t64.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-  } =>#t63;
+    final core::Map<core::String*, core::int*>* #t39 = col::LinkedHashMap::of<core::String*, core::int*>(self::bar<core::String*, core::int*>());
+  } =>#t39;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t65 = <core::int*>[];
-    for (final has-declared-initializer dynamic #t66 in listNum) {
-      final core::int* #t67 = #t66 as{TypeError} core::int*;
-      #t65.{core::List::add}{Invariant}(#t67){(core::int*) →* void};
+    final core::List<core::int*>* #t40 = <core::int*>[];
+    for (final has-declared-initializer dynamic #t41 in listNum) {
+      final core::int* #t42 = #t41 as{TypeError} core::int*;
+      #t40.{core::List::add}{Invariant}(#t42){(core::int*) →* void};
     }
-  } =>#t65;
+  } =>#t40;
   core::Map<core::num*, core::int*>* map100 = block {
-    final core::Map<core::num*, core::int*>* #t68 = <core::num*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t69 in mapIntNum.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
-      final core::num* #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
-      final core::int* #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-      #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num*, core::int*) →* void};
+    final core::Map<core::num*, core::int*>* #t43 = <core::num*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t44 in mapIntNum.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
+      final core::num* #t45 = #t44.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::int* #t46 = #t44.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t43.{core::Map::[]=}{Invariant}(#t45, #t46){(core::num*, core::int*) →* void};
     }
-  } =>#t68;
+  } =>#t43;
   core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t72 = <core::int*>[];
-    for (final has-declared-initializer dynamic #t73 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
-      final core::int* #t74 = #t73 as{TypeError} core::int*;
-      #t72.{core::List::add}{Invariant}(#t74){(core::int*) →* void};
+    final core::List<core::int*>* #t47 = <core::int*>[];
+    for (final has-declared-initializer dynamic #t48 in dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t49 = #t48 as{TypeError} core::int*;
+      #t47.{core::List::add}{Invariant}(#t49){(core::int*) →* void};
     }
-  } =>#t72;
+  } =>#t47;
   core::Map<core::num*, core::int*>* map110 = block {
-    final core::Map<core::num*, core::int*>* #t75 = <core::num*, core::int*>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t76 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
-      final core::num* #t77 = #t76.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
-      final core::int* #t78 = #t76.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-      #t75.{core::Map::[]=}{Invariant}(#t77, #t78){(core::num*, core::int*) →* void};
+    final core::Map<core::num*, core::int*>* #t50 = <core::num*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t51 in (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}) {
+      final core::num* #t52 = #t51.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::int* #t53 = #t51.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t50.{core::Map::[]=}{Invariant}(#t52, #t53){(core::num*, core::int*) →* void};
     }
-  } =>#t75;
+  } =>#t50;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
index 20ff470..84fcc62 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference.dart.weak.transformed.expect
@@ -112,148 +112,69 @@
     final core::Set<dynamic>* #t2 = col::LinkedHashSet::of<dynamic>(core::_GrowableList::•<dynamic>(0));
   } =>#t2;
   core::Map<dynamic, dynamic>* map10 = block {
-    final core::Map<dynamic, dynamic>* #t3 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-      }
-    }
+    final core::Map<dynamic, dynamic>* #t3 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
   } =>#t3;
   core::Map<dynamic, dynamic>* map10ambiguous = block {
-    final core::Map<dynamic, dynamic>* #t5 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-      }
-    }
-  } =>#t5;
+    final core::Map<dynamic, dynamic>* #t4 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
+  } =>#t4;
   core::List<core::int*>* lhs20 = block {
-    final core::List<core::int*>* #t7 = core::List::of<core::int*>(spread);
-  } =>#t7;
+    final core::List<core::int*>* #t5 = core::List::of<core::int*>(spread);
+  } =>#t5;
   core::Set<core::int*>* set20 = block {
-    final core::Set<core::int*>* #t8 = col::LinkedHashSet::of<core::int*>(spread);
-    #t8.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t8;
+    final core::Set<core::int*>* #t6 = col::LinkedHashSet::of<core::int*>(spread);
+    #t6.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t6;
   core::Set<core::int*>* set20ambiguous = block {
-    final core::Set<core::int*>* #t9 = new col::_CompactLinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int*>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        {
-          final core::int* #t11 = #t10 as{TypeError} core::int*;
-          #t9.{core::Set::add}{Invariant}(#t11){(core::int*) →* core::bool*};
-        }
-      }
-    }
-  } =>#t9;
+    final core::Set<core::int*>* #t7 = col::LinkedHashSet::of<core::int*>(spread);
+  } =>#t7;
   core::Map<core::String*, core::int*>* map20 = block {
-    final core::Map<core::String*, core::int*>* #t12 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String*}, #t13.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-    #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
-  } =>#t12;
+    final core::Map<core::String*, core::int*>* #t8 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+    #t8.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
+  } =>#t8;
   core::Map<core::String*, core::int*>* map20ambiguous = block {
-    final core::Map<core::String*, core::int*>* #t14 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String*}, #t15.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-  } =>#t14;
+    final core::Map<core::String*, core::int*>* #t9 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+  } =>#t9;
   core::List<dynamic>* lhs21 = block {
-    final core::List<dynamic>* #t16 = core::List::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
-  } =>#t16;
+    final core::List<dynamic>* #t10 = core::List::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+  } =>#t10;
   core::Set<dynamic>* set21 = block {
-    final core::Set<dynamic>* #t17 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
-    #t17.{core::Set::add}{Invariant}(42){(dynamic) →* core::bool*};
-  } =>#t17;
+    final core::Set<dynamic>* #t11 = col::LinkedHashSet::of<dynamic>((spread as dynamic) as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t11.{core::Set::add}{Invariant}(42){(dynamic) →* core::bool*};
+  } =>#t11;
   core::Map<dynamic, dynamic>* map21 = block {
-    final core::Map<dynamic, dynamic>* #t18 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>>* :sync-for-iterator = ((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) →* void};
-      }
-    }
-    #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
-  } =>#t18;
+    final core::Map<dynamic, dynamic>* #t12 = col::LinkedHashMap::of<dynamic, dynamic>((mapSpread as dynamic) as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*);
+    #t12.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) →* void};
+  } =>#t12;
   dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:66:28: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   dynamic map21ambiguous = {...(mapSpread as dynamic)};
                            ^";
   core::List<core::int*>* lhs22 = block {
-    final core::List<core::int*>* #t20 = core::List::of<core::int*>(core::_GrowableList::•<core::int*>(0));
-  } =>#t20;
+    final core::List<core::int*>* #t13 = core::List::of<core::int*>(core::_GrowableList::•<core::int*>(0));
+  } =>#t13;
   core::Set<core::int*>* set22 = block {
-    final core::Set<core::int*>* #t21 = col::LinkedHashSet::of<core::int*>(core::_GrowableList::•<core::int*>(0));
-    #t21.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t21;
+    final core::Set<core::int*>* #t14 = col::LinkedHashSet::of<core::int*>(core::_GrowableList::•<core::int*>(0));
+    #t14.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t14;
   core::Set<core::int*>* set22ambiguous = block {
-    final core::Set<core::int*>* #t22 = new col::_CompactLinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = core::_GrowableList::•<core::int*>(0).{core::Iterable::iterator}{core::Iterator<core::int*>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        {
-          final core::int* #t24 = #t23 as{TypeError} core::int*;
-          #t22.{core::Set::add}{Invariant}(#t24){(core::int*) →* core::bool*};
-        }
-      }
-    }
-  } =>#t22;
+    final core::Set<core::int*>* #t15 = col::LinkedHashSet::of<core::int*>(core::_GrowableList::•<core::int*>(0));
+  } =>#t15;
   core::Map<core::String*, core::int*>* map22 = block {
-    final core::Map<core::String*, core::int*>* #t25 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = <core::String*, core::int*>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t26 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String*}, #t26.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-  } =>#t25;
+    final core::Map<core::String*, core::int*>* #t16 = col::LinkedHashMap::of<core::String*, core::int*>(<core::String*, core::int*>{});
+  } =>#t16;
   core::List<core::List<core::int*>*>* lhs23 = block {
-    final core::List<core::List<core::int*>*>* #t27 = core::List::of<core::List<core::int*>*>(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
-  } =>#t27;
+    final core::List<core::List<core::int*>*>* #t17 = core::List::of<core::List<core::int*>*>(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+  } =>#t17;
   core::Set<core::List<core::int*>*>* set23 = block {
-    final core::Set<core::List<core::int*>*>* #t28 = col::LinkedHashSet::of<core::List<core::int*>*>(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
-    #t28.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
-  } =>#t28;
+    final core::Set<core::List<core::int*>*>* #t18 = col::LinkedHashSet::of<core::List<core::int*>*>(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+    #t18.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int*>(42)){(core::List<core::int*>*) →* core::bool*};
+  } =>#t18;
   core::Set<core::List<core::int*>*>* set23ambiguous = block {
-    final core::Set<core::List<core::int*>*>* #t29 = new col::_CompactLinkedHashSet::•<core::List<core::int*>*>();
-    {
-      core::Iterator<core::List<core::int*>*>* :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)).{core::Iterable::iterator}{core::Iterator<core::List<core::int*>*>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t30 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int*>*};
-        {
-          final core::List<core::int*>* #t31 = #t30 as{TypeError} core::List<core::int*>*;
-          #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int*>*) →* core::bool*};
-        }
-      }
-    }
-  } =>#t29;
+    final core::Set<core::List<core::int*>*>* #t19 = col::LinkedHashSet::of<core::List<core::int*>*>(core::_GrowableList::_literal1<core::List<core::int*>*>(core::_GrowableList::•<core::int*>(0)));
+  } =>#t19;
   core::Map<core::String*, core::List<core::int*>*>* map23 = block {
-    final core::Map<core::String*, core::List<core::int*>*>* #t32 = <core::String*, core::List<core::int*>*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>* :sync-for-iterator = <core::String*, core::List<core::int*>*>{"baz": core::_GrowableList::•<core::int*>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::List<core::int*>*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::List<core::int*>*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::List<core::int*>*>* #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::List<core::int*>*>};
-        #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String*}, #t33.{core::MapEntry::value}{core::List<core::int*>*}){(core::String*, core::List<core::int*>*) →* void};
-      }
-    }
-  } =>#t32;
+    final core::Map<core::String*, core::List<core::int*>*>* #t20 = col::LinkedHashMap::of<core::String*, core::List<core::int*>*>(<core::String*, core::List<core::int*>*>{"baz": core::_GrowableList::•<core::int*>(0)});
+  } =>#t20;
   dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:98:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   dynamic map24ambiguous = {...spread, ...mapSpread};
                            ^";
@@ -261,67 +182,43 @@
  - 'List' is from 'dart:core'.
   int lhs30 = /*@typeArgs=int**/ [...spread];
                                  ^" in ( block {
-    final core::List<core::int*>* #t34 = core::List::of<core::int*>(spread);
-  } =>#t34) as{TypeError} core::int*;
+    final core::List<core::int*>* #t21 = core::List::of<core::int*>(spread);
+  } =>#t21) as{TypeError} core::int*;
   core::int* set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:102:34: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
   int set30 = /*@typeArgs=int**/ {...spread, 42};
                                  ^" in ( block {
-    final core::Set<core::int*>* #t35 = col::LinkedHashSet::of<core::int*>(spread);
-    #t35.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
-  } =>#t35) as{TypeError} core::int*;
+    final core::Set<core::int*>* #t22 = col::LinkedHashSet::of<core::int*>(spread);
+    #t22.{core::Set::add}{Invariant}(42){(core::int*) →* core::bool*};
+  } =>#t22) as{TypeError} core::int*;
   core::int* set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:105:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
       {...spread};
       ^" in ( block {
-    final core::Set<core::int*>* #t36 = new col::_CompactLinkedHashSet::•<core::int*>();
-    {
-      core::Iterator<core::int*>* :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int*>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t37 = :sync-for-iterator.{core::Iterator::current}{core::int*};
-        {
-          final core::int* #t38 = #t37 as{TypeError} core::int*;
-          #t36.{core::Set::add}{Invariant}(#t38){(core::int*) →* core::bool*};
-        }
-      }
-    }
-  } =>#t36) as{TypeError} core::int*;
+    final core::Set<core::int*>* #t23 = col::LinkedHashSet::of<core::int*>(spread);
+  } =>#t23) as{TypeError} core::int*;
   core::int* map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:108:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread, \"baz\": 42};
       ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t39 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t40 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String*}, #t40.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-    #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
-  } =>#t39) as{TypeError} core::int*;
+    final core::Map<core::String*, core::int*>* #t24 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+    #t24.{core::Map::[]=}{Invariant}("baz", 42){(core::String*, core::int*) →* void};
+  } =>#t24) as{TypeError} core::int*;
   core::int* map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:111:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread};
       ^" in ( block {
-    final core::Map<core::String*, core::int*>* #t41 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t42 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String*}, #t42.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-  } =>#t41) as{TypeError} core::int*;
+    final core::Map<core::String*, core::int*>* #t25 = col::LinkedHashMap::of<core::String*, core::int*>(mapSpread);
+  } =>#t25) as{TypeError} core::int*;
   core::List<dynamic>* lhs40 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:113:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
                                      ^");
   core::Set<dynamic>* set40 = block {
-    final core::Set<dynamic>* #t43 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic>* #t26 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:115:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
                                     ^"){(dynamic) →* core::bool*};
-  } =>#t43;
+  } =>#t26;
   core::Map<dynamic, dynamic>* map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:117:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
                                                       ^": null};
@@ -329,11 +226,11 @@
   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
                                      ^");
   core::Set<dynamic>* set50 = block {
-    final core::Set<dynamic>* #t44 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic>* #t27 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:121:37: Error: Unexpected type 'int Function()' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
                                     ^"){(dynamic) →* core::bool*};
-  } =>#t44;
+  } =>#t27;
   core::Map<dynamic, dynamic>* map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:123:55: Error: Unexpected type 'int Function()' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
                                                       ^": null};
@@ -341,11 +238,11 @@
   List<String> lhs60 = <String>[...spread];
                                    ^");
   core::Set<core::String*>* set60 = block {
-    final core::Set<core::String*>* #t45 = new col::_CompactLinkedHashSet::•<core::String*>();
-    #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+    final core::Set<core::String*>* #t28 = new col::_CompactLinkedHashSet::•<core::String*>();
+    #t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:127:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
   Set<String> set60 = <String>{...spread};
                                   ^"){(core::String*) →* core::bool*};
-  } =>#t45;
+  } =>#t28;
   core::Map<core::int*, core::int*>* map60 = <core::int*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:129:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
   Map<int, int> map60 = <int, int>{...mapSpread};
                                       ^": null};
@@ -356,140 +253,102 @@
   List<int> lhs70 = <int>[...null];
                              ^");
   core::Set<core::int*>* set70 = block {
-    final core::Set<core::int*>* #t46 = new col::_CompactLinkedHashSet::•<core::int*>();
-    #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
+    final core::Set<core::int*>* #t29 = new col::_CompactLinkedHashSet::•<core::int*>();
+    #t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:135:29: Error: Can't spread a value with static type 'Null'.
   Set<int> set70 = <int>{...null};
                             ^"){(core::int*) →* core::bool*};
-  } =>#t46;
+  } =>#t29;
   core::Set<dynamic>* set71ambiguous = block {
-    final core::Set<dynamic>* #t47 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
+    final core::Set<dynamic>* #t30 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:139:8: Error: Can't spread a value with static type 'Null'.
     ...null,
        ^"){(dynamic) →* core::bool*};
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t48 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final dynamic #t49 = #t48 as{TypeError} dynamic;
-          #t47.{core::Set::add}{Invariant}(#t49){(dynamic) →* core::bool*};
-        }
-      }
-    }
-  } =>#t47;
+    #t30.{core::Set::addAll}{Invariant}(core::_GrowableList::•<dynamic>(0)){(core::Iterable<dynamic>*) →* void};
+  } =>#t30;
   core::Map<core::String*, core::int*>* map70 = <core::String*, core::int*>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference.dart:144:45: Error: Can't spread a value with static type 'Null'.
   Map<String, int> map70 = <String, int>{...null};
                                             ^": null};
   core::List<core::int*>* lhs80 = block {
-    final core::List<core::int*>* #t50 = core::_GrowableList::•<core::int*>(0);
-    final has-declared-initializer core::Iterable<core::int*>* #t51 = null;
-    if(!(#t51 == null))
-      #t50.{core::List::addAll}{Invariant}(#t51){(core::Iterable<core::int*>*) →* void};
-  } =>#t50;
+    final core::List<core::int*>* #t31 = core::_GrowableList::•<core::int*>(0);
+    final has-declared-initializer core::Iterable<core::int*>* #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::List::addAll}{Invariant}(#t32){(core::Iterable<core::int*>*) →* void};
+  } =>#t31;
   core::Set<core::int*>* set80 = block {
-    final core::Set<core::int*>* #t52 = new col::_CompactLinkedHashSet::•<core::int*>();
-    final has-declared-initializer core::Iterable<core::int*>* #t53 = null;
-    if(!(#t53 == null))
-      #t52.{core::Set::addAll}{Invariant}(#t53){(core::Iterable<core::int*>*) →* void};
-  } =>#t52;
+    final core::Set<core::int*>* #t33 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final has-declared-initializer core::Iterable<core::int*>* #t34 = null;
+    if(!(#t34 == null))
+      #t33.{core::Set::addAll}{Invariant}(#t34){(core::Iterable<core::int*>*) →* void};
+  } =>#t33;
   core::Set<dynamic>* set81ambiguous = block {
-    final core::Set<dynamic>* #t54 = new col::_CompactLinkedHashSet::•<dynamic>();
-    final has-declared-initializer core::Iterable<dynamic>* #t55 = null;
-    if(!(#t55 == null)) {
-      core::Iterator<dynamic>* :sync-for-iterator = #t55.{core::Iterable::iterator}{core::Iterator<dynamic>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t56 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final dynamic #t57 = #t56 as{TypeError} dynamic;
-          #t54.{core::Set::add}{Invariant}(#t57){(dynamic) →* core::bool*};
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic>* :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final dynamic #t59 = #t58 as{TypeError} dynamic;
-          #t54.{core::Set::add}{Invariant}(#t59){(dynamic) →* core::bool*};
-        }
-      }
-    }
-  } =>#t54;
+    final core::Set<dynamic>* #t35 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final has-declared-initializer core::Iterable<dynamic>* #t36 = null;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36){(core::Iterable<dynamic>*) →* void};
+    #t35.{core::Set::addAll}{Invariant}(core::_GrowableList::•<dynamic>(0)){(core::Iterable<dynamic>*) →* void};
+  } =>#t35;
   core::Map<core::String*, core::int*>* map80 = block {
-    final core::Map<core::String*, core::int*>* #t60 = <core::String*, core::int*>{};
-    final has-declared-initializer core::Map<core::String*, core::int*>* #t61 = null;
-    if(!(#t61 == null)) {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = #t61.{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t62 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String*}, #t62.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-  } =>#t60;
+    final core::Map<core::String*, core::int*>* #t37 = <core::String*, core::int*>{};
+    final has-declared-initializer core::Map<core::String*, core::int*>* #t38 = null;
+    if(!(#t38 == null))
+      #t37.{core::Map::addAll}{Invariant}(#t38){(core::Map<core::String*, core::int*>*) →* void};
+  } =>#t37;
   core::Map<core::String*, core::int*>* map90 = block {
-    final core::Map<core::String*, core::int*>* #t63 = <core::String*, core::int*>{};
-    {
-      core::Iterator<core::MapEntry<core::String*, core::int*>>* :sync-for-iterator = self::bar<core::String*, core::int*>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String*, core::int*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String*, core::int*>* #t64 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String*, core::int*>};
-        #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String*}, #t64.{core::MapEntry::value}{core::int*}){(core::String*, core::int*) →* void};
-      }
-    }
-  } =>#t63;
+    final core::Map<core::String*, core::int*>* #t39 = col::LinkedHashMap::of<core::String*, core::int*>(self::bar<core::String*, core::int*>());
+  } =>#t39;
   core::List<core::int*>* list100 = block {
-    final core::List<core::int*>* #t65 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t40 = core::_GrowableList::•<core::int*>(0);
     {
       core::Iterator<core::num*>* :sync-for-iterator = listNum.{core::Iterable::iterator}{core::Iterator<core::num*>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        final dynamic #t41 = :sync-for-iterator.{core::Iterator::current}{core::num*};
         {
-          final core::int* #t67 = #t66 as{TypeError} core::int*;
-          #t65.{core::List::add}{Invariant}(#t67){(core::int*) →* void};
+          final core::int* #t42 = #t41 as{TypeError} core::int*;
+          #t40.{core::List::add}{Invariant}(#t42){(core::int*) →* void};
         }
       }
     }
-  } =>#t65;
+  } =>#t40;
   core::Map<core::num*, core::int*>* map100 = block {
-    final core::Map<core::num*, core::int*>* #t68 = <core::num*, core::int*>{};
+    final core::Map<core::num*, core::int*>* #t43 = <core::num*, core::int*>{};
     {
       core::Iterator<core::MapEntry<core::num*, core::int*>>* :sync-for-iterator = mapIntNum.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::int*>>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t69 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::int*>};
+        final core::MapEntry<dynamic, dynamic>* #t44 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::int*>};
         {
-          final core::num* #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
-          final core::int* #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-          #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num*, core::int*) →* void};
+          final core::num* #t45 = #t44.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+          final core::int* #t46 = #t44.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t43.{core::Map::[]=}{Invariant}(#t45, #t46){(core::num*, core::int*) →* void};
         }
       }
     }
-  } =>#t68;
+  } =>#t43;
   core::List<core::int*>* list110 = block {
-    final core::List<core::int*>* #t72 = core::_GrowableList::•<core::int*>(0);
+    final core::List<core::int*>* #t47 = core::_GrowableList::•<core::int*>(0);
     {
       core::Iterator<dynamic>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t48 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int* #t74 = #t73 as{TypeError} core::int*;
-          #t72.{core::List::add}{Invariant}(#t74){(core::int*) →* void};
+          final core::int* #t49 = #t48 as{TypeError} core::int*;
+          #t47.{core::List::add}{Invariant}(#t49){(core::int*) →* void};
         }
       }
     }
-  } =>#t72;
+  } =>#t47;
   core::Map<core::num*, core::int*>* map110 = block {
-    final core::Map<core::num*, core::int*>* #t75 = <core::num*, core::int*>{};
+    final core::Map<core::num*, core::int*>* #t50 = <core::num*, core::int*>{};
     {
       core::Iterator<core::MapEntry<core::num*, core::int*>>* :sync-for-iterator = (dynVar as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::int*>>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t76 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::int*>};
+        final core::MapEntry<dynamic, dynamic>* #t51 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::int*>};
         {
-          final core::num* #t77 = #t76.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
-          final core::int* #t78 = #t76.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
-          #t75.{core::Map::[]=}{Invariant}(#t77, #t78){(core::num*, core::int*) →* void};
+          final core::num* #t52 = #t51.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+          final core::int* #t53 = #t51.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t50.{core::Map::[]=}{Invariant}(#t52, #t53){(core::num*, core::int*) →* void};
         }
       }
     }
-  } =>#t75;
+  } =>#t50;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.expect
index bea75ee..900b407 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.expect
@@ -128,95 +128,69 @@
     final core::Set<dynamic> #t2 = col::LinkedHashSet::of<dynamic>(<dynamic>[]);
   } =>#t2;
   core::Map<dynamic, dynamic> map10 = block {
-    final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t4 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    final core::Map<dynamic, dynamic> #t3 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
   } =>#t3;
   core::Map<dynamic, dynamic> map10ambiguous = block {
-    final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t6 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-  } =>#t5;
+    final core::Map<dynamic, dynamic> #t4 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
+  } =>#t4;
   core::List<core::int> lhs20 = block {
-    final core::List<core::int> #t7 = core::List::of<core::int>(spread);
-  } =>#t7;
+    final core::List<core::int> #t5 = core::List::of<core::int>(spread);
+  } =>#t5;
   core::Set<core::int> set20 = block {
-    final core::Set<core::int> #t8 = col::LinkedHashSet::of<core::int>(spread);
-    #t8.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t8;
+    final core::Set<core::int> #t6 = col::LinkedHashSet::of<core::int>(spread);
+    #t6.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t6;
   core::Set<core::int> set20ambiguous = block {
-    final core::Set<core::int> #t9 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t10 in spread) {
-      final core::int #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::int;
-      #t9.{core::Set::add}{Invariant}(#t11){(core::int) → core::bool};
-    }
-  } =>#t9;
+    final core::Set<core::int> #t7 = col::LinkedHashSet::of<core::int>(spread);
+  } =>#t7;
   core::Map<core::String, core::int> map20 = block {
-    final core::Map<core::String, core::int> #t12 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t13 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-    #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
-  } =>#t12;
+    final core::Map<core::String, core::int> #t8 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+    #t8.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+  } =>#t8;
   core::Map<core::String, core::int> map20ambiguous = block {
-    final core::Map<core::String, core::int> #t14 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t15 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t14;
+    final core::Map<core::String, core::int> #t9 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+  } =>#t9;
   core::List<dynamic> lhs21 = block {
-    final core::List<dynamic> #t16 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
-  } =>#t16;
+    final core::List<dynamic> #t10 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+  } =>#t10;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t17 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
-    #t17.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
-  } =>#t17;
+    final core::Set<dynamic> #t11 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t11.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
+  } =>#t11;
   core::Map<dynamic, dynamic> map21 = block {
-    final core::Map<dynamic, dynamic> #t18 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t19 in ((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
-  } =>#t18;
+    final core::Map<dynamic, dynamic> #t12 = col::LinkedHashMap::of<dynamic, dynamic>((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>);
+    #t12.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
+  } =>#t12;
   dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   dynamic map21ambiguous = {...(mapSpread as dynamic)};
                            ^";
   core::List<core::int> lhs22 = block {
-    final core::List<core::int> #t20 = core::List::of<core::int>(<core::int>[]);
-  } =>#t20;
+    final core::List<core::int> #t13 = core::List::of<core::int>(<core::int>[]);
+  } =>#t13;
   core::Set<core::int> set22 = block {
-    final core::Set<core::int> #t21 = col::LinkedHashSet::of<core::int>(<core::int>[]);
-    #t21.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t21;
+    final core::Set<core::int> #t14 = col::LinkedHashSet::of<core::int>(<core::int>[]);
+    #t14.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t14;
   core::Set<core::int> set22ambiguous = block {
-    final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t23 in <core::int>[]) {
-      final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
-      #t22.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
-    }
-  } =>#t22;
+    final core::Set<core::int> #t15 = col::LinkedHashSet::of<core::int>(<core::int>[]);
+  } =>#t15;
   core::Map<core::String, core::int> map22 = block {
-    final core::Map<core::String, core::int> #t25 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t26 in <core::String, core::int>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String}, #t26.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t25;
+    final core::Map<core::String, core::int> #t16 = col::LinkedHashMap::of<core::String, core::int>(<core::String, core::int>{});
+  } =>#t16;
   core::List<core::List<core::int>> lhs23 = block {
-    final core::List<core::List<core::int>> #t27 = core::List::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
-  } =>#t27;
+    final core::List<core::List<core::int>> #t17 = core::List::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+  } =>#t17;
   core::Set<core::List<core::int>> set23 = block {
-    final core::Set<core::List<core::int>> #t28 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
-    #t28.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → core::bool};
-  } =>#t28;
+    final core::Set<core::List<core::int>> #t18 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+    #t18.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → core::bool};
+  } =>#t18;
   core::Set<core::List<core::int>> set23ambiguous = block {
-    final core::Set<core::List<core::int>> #t29 = col::LinkedHashSet::•<core::List<core::int>>();
-    for (final has-declared-initializer dynamic #t30 in <core::List<core::int>>[<core::int>[]]) {
-      final core::List<core::int> #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::List<core::int>;
-      #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int>) → core::bool};
-    }
-  } =>#t29;
+    final core::Set<core::List<core::int>> #t19 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+  } =>#t19;
   core::Map<core::String, core::List<core::int>> map23 = block {
-    final core::Map<core::String, core::List<core::int>> #t32 = <core::String, core::List<core::int>>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>> #t33 in <core::String, core::List<core::int>>{"baz": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>>>})
-      #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>}){(core::String, core::List<core::int>) → void};
-  } =>#t32;
+    final core::Map<core::String, core::List<core::int>> #t20 = col::LinkedHashMap::of<core::String, core::List<core::int>>(<core::String, core::List<core::int>>{"baz": <core::int>[]});
+  } =>#t20;
   dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   dynamic map24ambiguous = {...spread, ...mapSpread};
                            ^";
@@ -224,51 +198,43 @@
  - 'List' is from 'dart:core'.
   int lhs30 = /*@typeArgs=int*/ [...spread];
                                 ^" in ( block {
-    final core::List<core::int> #t34 = core::List::of<core::int>(spread);
-  } =>#t34) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::List<core::int> #t21 = core::List::of<core::int>(spread);
+  } =>#t21) as{TypeError,ForNonNullableByDefault} core::int;
   core::int set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
   int set30 = /*@typeArgs=int*/ {...spread, 42};
                                 ^" in ( block {
-    final core::Set<core::int> #t35 = col::LinkedHashSet::of<core::int>(spread);
-    #t35.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t35) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Set<core::int> #t22 = col::LinkedHashSet::of<core::int>(spread);
+    #t22.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t22) as{TypeError,ForNonNullableByDefault} core::int;
   core::int set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
       {...spread};
       ^" in ( block {
-    final core::Set<core::int> #t36 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t37 in spread) {
-      final core::int #t38 = #t37 as{TypeError,ForNonNullableByDefault} core::int;
-      #t36.{core::Set::add}{Invariant}(#t38){(core::int) → core::bool};
-    }
-  } =>#t36) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Set<core::int> #t23 = col::LinkedHashSet::of<core::int>(spread);
+  } =>#t23) as{TypeError,ForNonNullableByDefault} core::int;
   core::int map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread, \"baz\": 42};
       ^" in ( block {
-    final core::Map<core::String, core::int> #t39 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t40 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String}, #t40.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-    #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
-  } =>#t39) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Map<core::String, core::int> #t24 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+    #t24.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+  } =>#t24) as{TypeError,ForNonNullableByDefault} core::int;
   core::int map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread};
       ^" in ( block {
-    final core::Map<core::String, core::int> #t41 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String}, #t42.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t41) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Map<core::String, core::int> #t25 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+  } =>#t25) as{TypeError,ForNonNullableByDefault} core::int;
   core::List<dynamic> lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
                                      ^"];
   core::Set<dynamic> set40 = block {
-    final core::Set<dynamic> #t43 = col::LinkedHashSet::•<dynamic>();
-    #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic> #t26 = col::LinkedHashSet::•<dynamic>();
+    #t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
                                     ^"){(dynamic) → core::bool};
-  } =>#t43;
+  } =>#t26;
   core::Map<dynamic, dynamic> map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
                                                       ^": null};
@@ -276,11 +242,11 @@
   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
                                      ^"];
   core::Set<dynamic> set50 = block {
-    final core::Set<dynamic> #t44 = col::LinkedHashSet::•<dynamic>();
-    #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic> #t27 = col::LinkedHashSet::•<dynamic>();
+    #t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
                                     ^"){(dynamic) → core::bool};
-  } =>#t44;
+  } =>#t27;
   core::Map<dynamic, dynamic> map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
                                                       ^": null};
@@ -288,11 +254,11 @@
   List<String> lhs60 = <String>[...spread];
                                    ^"];
   core::Set<core::String> set60 = block {
-    final core::Set<core::String> #t45 = col::LinkedHashSet::•<core::String>();
-    #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+    final core::Set<core::String> #t28 = col::LinkedHashSet::•<core::String>();
+    #t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
   Set<String> set60 = <String>{...spread};
                                   ^"){(core::String) → core::bool};
-  } =>#t45;
+  } =>#t28;
   core::Map<core::int, core::int> map60 = <core::int, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
   Map<int, int> map60 = <int, int>{...mapSpread};
                                       ^": null};
@@ -303,61 +269,49 @@
   List<int> lhs70 = <int>[...null];
                              ^"];
   core::Set<core::int> set70 = block {
-    final core::Set<core::int> #t46 = col::LinkedHashSet::•<core::int>();
-    #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+    final core::Set<core::int> #t29 = col::LinkedHashSet::•<core::int>();
+    #t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
   Set<int> set70 = <int>{...null};
                             ^"){(core::int) → core::bool};
-  } =>#t46;
+  } =>#t29;
   core::Set<dynamic> set71ambiguous = block {
-    final core::Set<dynamic> #t47 = col::LinkedHashSet::•<dynamic>();
-    #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+    final core::Set<dynamic> #t30 = col::LinkedHashSet::•<dynamic>();
+    #t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
     ...null,
        ^"){(dynamic) → core::bool};
-    for (final has-declared-initializer dynamic #t48 in <dynamic>[]) {
-      final dynamic #t49 = #t48 as{TypeError,ForNonNullableByDefault} dynamic;
-      #t47.{core::Set::add}{Invariant}(#t49){(dynamic) → core::bool};
-    }
-  } =>#t47;
+    #t30.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>) → void};
+  } =>#t30;
   core::Map<core::String, core::int> map70 = <core::String, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
   Map<String, int> map70 = <String, int>{...null};
                                             ^": null};
   core::List<core::int> lhs80 = block {
-    final core::List<core::int> #t50 = <core::int>[];
-    final has-declared-initializer core::Iterable<core::int>? #t51 = null;
-    if(!(#t51 == null))
-      #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t50;
+    final core::List<core::int> #t31 = <core::int>[];
+    final has-declared-initializer core::Iterable<core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t31;
   core::Set<core::int> set80 = block {
-    final core::Set<core::int> #t52 = col::LinkedHashSet::•<core::int>();
-    final has-declared-initializer core::Iterable<core::int>? #t53 = null;
-    if(!(#t53 == null))
-      #t52.{core::Set::addAll}{Invariant}(#t53{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t52;
+    final core::Set<core::int> #t33 = col::LinkedHashSet::•<core::int>();
+    final has-declared-initializer core::Iterable<core::int>? #t34 = null;
+    if(!(#t34 == null))
+      #t33.{core::Set::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t33;
   core::Set<dynamic> set81ambiguous = block {
-    final core::Set<dynamic> #t54 = col::LinkedHashSet::•<dynamic>();
-    final has-declared-initializer core::Iterable<dynamic>? #t55 = null;
-    if(!(#t55 == null))
-      for (final has-declared-initializer dynamic #t56 in #t55{core::Iterable<dynamic>}) {
-        final dynamic #t57 = #t56 as{TypeError,ForNonNullableByDefault} dynamic;
-        #t54.{core::Set::add}{Invariant}(#t57){(dynamic) → core::bool};
-      }
-    for (final has-declared-initializer dynamic #t58 in <dynamic>[]) {
-      final dynamic #t59 = #t58 as{TypeError,ForNonNullableByDefault} dynamic;
-      #t54.{core::Set::add}{Invariant}(#t59){(dynamic) → core::bool};
-    }
-  } =>#t54;
+    final core::Set<dynamic> #t35 = col::LinkedHashSet::•<dynamic>();
+    final has-declared-initializer core::Iterable<dynamic>? #t36 = null;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    #t35.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>) → void};
+  } =>#t35;
   core::Map<core::String, core::int> map80 = block {
-    final core::Map<core::String, core::int> #t60 = <core::String, core::int>{};
-    final has-declared-initializer core::Map<core::String, core::int>? #t61 = null;
-    if(!(#t61 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t62 in #t61{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String}, #t62.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t60;
+    final core::Map<core::String, core::int> #t37 = <core::String, core::int>{};
+    final has-declared-initializer core::Map<core::String, core::int>? #t38 = null;
+    if(!(#t38 == null))
+      #t37.{core::Map::addAll}{Invariant}(#t38{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t37;
   core::Map<core::String, core::int> map90 = block {
-    final core::Map<core::String, core::int> #t63 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t64 in self::bar<core::String, core::int>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String}, #t64.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t63;
+    final core::Map<core::String, core::int> #t39 = col::LinkedHashMap::of<core::String, core::int>(self::bar<core::String, core::int>());
+  } =>#t39;
   core::List<core::int> list100 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
   List<int> list100 = <int>[...listNum];
                                ^"];
@@ -365,19 +319,19 @@
   Map<num, int> map100 = <num, int>{...mapIntNum};
                                        ^"};
   core::List<core::int> list110 = block {
-    final core::List<core::int> #t65 = <core::int>[];
-    for (final has-declared-initializer dynamic #t66 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-      final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-      #t65.{core::List::add}{Invariant}(#t67){(core::int) → void};
+    final core::List<core::int> #t40 = <core::int>[];
+    for (final has-declared-initializer dynamic #t41 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::int;
+      #t40.{core::List::add}{Invariant}(#t42){(core::int) → void};
     }
-  } =>#t65;
+  } =>#t40;
   core::Map<core::num, core::int> map110 = block {
-    final core::Map<core::num, core::int> #t68 = <core::num, core::int>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t69 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}) {
-      final core::num #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
-      final core::int #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
-      #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num, core::int) → void};
+    final core::Map<core::num, core::int> #t43 = <core::num, core::int>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t44 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}) {
+      final core::num #t45 = #t44.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::int #t46 = #t44.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t43.{core::Map::[]=}{Invariant}(#t45, #t46){(core::num, core::int) → void};
     }
-  } =>#t68;
+  } =>#t43;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.modular.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.modular.expect
index bea75ee..900b407 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.modular.expect
@@ -128,95 +128,69 @@
     final core::Set<dynamic> #t2 = col::LinkedHashSet::of<dynamic>(<dynamic>[]);
   } =>#t2;
   core::Map<dynamic, dynamic> map10 = block {
-    final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t4 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    final core::Map<dynamic, dynamic> #t3 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
   } =>#t3;
   core::Map<dynamic, dynamic> map10ambiguous = block {
-    final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t6 in <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-  } =>#t5;
+    final core::Map<dynamic, dynamic> #t4 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
+  } =>#t4;
   core::List<core::int> lhs20 = block {
-    final core::List<core::int> #t7 = core::List::of<core::int>(spread);
-  } =>#t7;
+    final core::List<core::int> #t5 = core::List::of<core::int>(spread);
+  } =>#t5;
   core::Set<core::int> set20 = block {
-    final core::Set<core::int> #t8 = col::LinkedHashSet::of<core::int>(spread);
-    #t8.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t8;
+    final core::Set<core::int> #t6 = col::LinkedHashSet::of<core::int>(spread);
+    #t6.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t6;
   core::Set<core::int> set20ambiguous = block {
-    final core::Set<core::int> #t9 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t10 in spread) {
-      final core::int #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::int;
-      #t9.{core::Set::add}{Invariant}(#t11){(core::int) → core::bool};
-    }
-  } =>#t9;
+    final core::Set<core::int> #t7 = col::LinkedHashSet::of<core::int>(spread);
+  } =>#t7;
   core::Map<core::String, core::int> map20 = block {
-    final core::Map<core::String, core::int> #t12 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t13 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-    #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
-  } =>#t12;
+    final core::Map<core::String, core::int> #t8 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+    #t8.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+  } =>#t8;
   core::Map<core::String, core::int> map20ambiguous = block {
-    final core::Map<core::String, core::int> #t14 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t15 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t14;
+    final core::Map<core::String, core::int> #t9 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+  } =>#t9;
   core::List<dynamic> lhs21 = block {
-    final core::List<dynamic> #t16 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
-  } =>#t16;
+    final core::List<dynamic> #t10 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+  } =>#t10;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t17 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
-    #t17.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
-  } =>#t17;
+    final core::Set<dynamic> #t11 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t11.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
+  } =>#t11;
   core::Map<dynamic, dynamic> map21 = block {
-    final core::Map<dynamic, dynamic> #t18 = <dynamic, dynamic>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t19 in ((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
-  } =>#t18;
+    final core::Map<dynamic, dynamic> #t12 = col::LinkedHashMap::of<dynamic, dynamic>((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>);
+    #t12.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
+  } =>#t12;
   dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   dynamic map21ambiguous = {...(mapSpread as dynamic)};
                            ^";
   core::List<core::int> lhs22 = block {
-    final core::List<core::int> #t20 = core::List::of<core::int>(<core::int>[]);
-  } =>#t20;
+    final core::List<core::int> #t13 = core::List::of<core::int>(<core::int>[]);
+  } =>#t13;
   core::Set<core::int> set22 = block {
-    final core::Set<core::int> #t21 = col::LinkedHashSet::of<core::int>(<core::int>[]);
-    #t21.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t21;
+    final core::Set<core::int> #t14 = col::LinkedHashSet::of<core::int>(<core::int>[]);
+    #t14.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t14;
   core::Set<core::int> set22ambiguous = block {
-    final core::Set<core::int> #t22 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t23 in <core::int>[]) {
-      final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
-      #t22.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
-    }
-  } =>#t22;
+    final core::Set<core::int> #t15 = col::LinkedHashSet::of<core::int>(<core::int>[]);
+  } =>#t15;
   core::Map<core::String, core::int> map22 = block {
-    final core::Map<core::String, core::int> #t25 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t26 in <core::String, core::int>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String}, #t26.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t25;
+    final core::Map<core::String, core::int> #t16 = col::LinkedHashMap::of<core::String, core::int>(<core::String, core::int>{});
+  } =>#t16;
   core::List<core::List<core::int>> lhs23 = block {
-    final core::List<core::List<core::int>> #t27 = core::List::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
-  } =>#t27;
+    final core::List<core::List<core::int>> #t17 = core::List::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+  } =>#t17;
   core::Set<core::List<core::int>> set23 = block {
-    final core::Set<core::List<core::int>> #t28 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
-    #t28.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → core::bool};
-  } =>#t28;
+    final core::Set<core::List<core::int>> #t18 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+    #t18.{core::Set::add}{Invariant}(<core::int>[42]){(core::List<core::int>) → core::bool};
+  } =>#t18;
   core::Set<core::List<core::int>> set23ambiguous = block {
-    final core::Set<core::List<core::int>> #t29 = col::LinkedHashSet::•<core::List<core::int>>();
-    for (final has-declared-initializer dynamic #t30 in <core::List<core::int>>[<core::int>[]]) {
-      final core::List<core::int> #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::List<core::int>;
-      #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int>) → core::bool};
-    }
-  } =>#t29;
+    final core::Set<core::List<core::int>> #t19 = col::LinkedHashSet::of<core::List<core::int>>(<core::List<core::int>>[<core::int>[]]);
+  } =>#t19;
   core::Map<core::String, core::List<core::int>> map23 = block {
-    final core::Map<core::String, core::List<core::int>> #t32 = <core::String, core::List<core::int>>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::List<core::int>> #t33 in <core::String, core::List<core::int>>{"baz": <core::int>[]}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>>>})
-      #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>}){(core::String, core::List<core::int>) → void};
-  } =>#t32;
+    final core::Map<core::String, core::List<core::int>> #t20 = col::LinkedHashMap::of<core::String, core::List<core::int>>(<core::String, core::List<core::int>>{"baz": <core::int>[]});
+  } =>#t20;
   dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   dynamic map24ambiguous = {...spread, ...mapSpread};
                            ^";
@@ -224,51 +198,43 @@
  - 'List' is from 'dart:core'.
   int lhs30 = /*@typeArgs=int*/ [...spread];
                                 ^" in ( block {
-    final core::List<core::int> #t34 = core::List::of<core::int>(spread);
-  } =>#t34) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::List<core::int> #t21 = core::List::of<core::int>(spread);
+  } =>#t21) as{TypeError,ForNonNullableByDefault} core::int;
   core::int set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
   int set30 = /*@typeArgs=int*/ {...spread, 42};
                                 ^" in ( block {
-    final core::Set<core::int> #t35 = col::LinkedHashSet::of<core::int>(spread);
-    #t35.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t35) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Set<core::int> #t22 = col::LinkedHashSet::of<core::int>(spread);
+    #t22.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t22) as{TypeError,ForNonNullableByDefault} core::int;
   core::int set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
       {...spread};
       ^" in ( block {
-    final core::Set<core::int> #t36 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t37 in spread) {
-      final core::int #t38 = #t37 as{TypeError,ForNonNullableByDefault} core::int;
-      #t36.{core::Set::add}{Invariant}(#t38){(core::int) → core::bool};
-    }
-  } =>#t36) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Set<core::int> #t23 = col::LinkedHashSet::of<core::int>(spread);
+  } =>#t23) as{TypeError,ForNonNullableByDefault} core::int;
   core::int map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread, \"baz\": 42};
       ^" in ( block {
-    final core::Map<core::String, core::int> #t39 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t40 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String}, #t40.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-    #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
-  } =>#t39) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Map<core::String, core::int> #t24 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+    #t24.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+  } =>#t24) as{TypeError,ForNonNullableByDefault} core::int;
   core::int map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread};
       ^" in ( block {
-    final core::Map<core::String, core::int> #t41 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t42 in mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String}, #t42.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t41) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Map<core::String, core::int> #t25 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+  } =>#t25) as{TypeError,ForNonNullableByDefault} core::int;
   core::List<dynamic> lhs40 = <dynamic>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
                                      ^"];
   core::Set<dynamic> set40 = block {
-    final core::Set<dynamic> #t43 = col::LinkedHashSet::•<dynamic>();
-    #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic> #t26 = col::LinkedHashSet::•<dynamic>();
+    #t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
                                     ^"){(dynamic) → core::bool};
-  } =>#t43;
+  } =>#t26;
   core::Map<dynamic, dynamic> map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
                                                       ^": null};
@@ -276,11 +242,11 @@
   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
                                      ^"];
   core::Set<dynamic> set50 = block {
-    final core::Set<dynamic> #t44 = col::LinkedHashSet::•<dynamic>();
-    #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic> #t27 = col::LinkedHashSet::•<dynamic>();
+    #t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
                                     ^"){(dynamic) → core::bool};
-  } =>#t44;
+  } =>#t27;
   core::Map<dynamic, dynamic> map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
                                                       ^": null};
@@ -288,11 +254,11 @@
   List<String> lhs60 = <String>[...spread];
                                    ^"];
   core::Set<core::String> set60 = block {
-    final core::Set<core::String> #t45 = col::LinkedHashSet::•<core::String>();
-    #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+    final core::Set<core::String> #t28 = col::LinkedHashSet::•<core::String>();
+    #t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
   Set<String> set60 = <String>{...spread};
                                   ^"){(core::String) → core::bool};
-  } =>#t45;
+  } =>#t28;
   core::Map<core::int, core::int> map60 = <core::int, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
   Map<int, int> map60 = <int, int>{...mapSpread};
                                       ^": null};
@@ -303,61 +269,49 @@
   List<int> lhs70 = <int>[...null];
                              ^"];
   core::Set<core::int> set70 = block {
-    final core::Set<core::int> #t46 = col::LinkedHashSet::•<core::int>();
-    #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+    final core::Set<core::int> #t29 = col::LinkedHashSet::•<core::int>();
+    #t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
   Set<int> set70 = <int>{...null};
                             ^"){(core::int) → core::bool};
-  } =>#t46;
+  } =>#t29;
   core::Set<dynamic> set71ambiguous = block {
-    final core::Set<dynamic> #t47 = col::LinkedHashSet::•<dynamic>();
-    #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+    final core::Set<dynamic> #t30 = col::LinkedHashSet::•<dynamic>();
+    #t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
     ...null,
        ^"){(dynamic) → core::bool};
-    for (final has-declared-initializer dynamic #t48 in <dynamic>[]) {
-      final dynamic #t49 = #t48 as{TypeError,ForNonNullableByDefault} dynamic;
-      #t47.{core::Set::add}{Invariant}(#t49){(dynamic) → core::bool};
-    }
-  } =>#t47;
+    #t30.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>) → void};
+  } =>#t30;
   core::Map<core::String, core::int> map70 = <core::String, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
   Map<String, int> map70 = <String, int>{...null};
                                             ^": null};
   core::List<core::int> lhs80 = block {
-    final core::List<core::int> #t50 = <core::int>[];
-    final has-declared-initializer core::Iterable<core::int>? #t51 = null;
-    if(!(#t51 == null))
-      #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t50;
+    final core::List<core::int> #t31 = <core::int>[];
+    final has-declared-initializer core::Iterable<core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t31;
   core::Set<core::int> set80 = block {
-    final core::Set<core::int> #t52 = col::LinkedHashSet::•<core::int>();
-    final has-declared-initializer core::Iterable<core::int>? #t53 = null;
-    if(!(#t53 == null))
-      #t52.{core::Set::addAll}{Invariant}(#t53{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t52;
+    final core::Set<core::int> #t33 = col::LinkedHashSet::•<core::int>();
+    final has-declared-initializer core::Iterable<core::int>? #t34 = null;
+    if(!(#t34 == null))
+      #t33.{core::Set::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t33;
   core::Set<dynamic> set81ambiguous = block {
-    final core::Set<dynamic> #t54 = col::LinkedHashSet::•<dynamic>();
-    final has-declared-initializer core::Iterable<dynamic>? #t55 = null;
-    if(!(#t55 == null))
-      for (final has-declared-initializer dynamic #t56 in #t55{core::Iterable<dynamic>}) {
-        final dynamic #t57 = #t56 as{TypeError,ForNonNullableByDefault} dynamic;
-        #t54.{core::Set::add}{Invariant}(#t57){(dynamic) → core::bool};
-      }
-    for (final has-declared-initializer dynamic #t58 in <dynamic>[]) {
-      final dynamic #t59 = #t58 as{TypeError,ForNonNullableByDefault} dynamic;
-      #t54.{core::Set::add}{Invariant}(#t59){(dynamic) → core::bool};
-    }
-  } =>#t54;
+    final core::Set<dynamic> #t35 = col::LinkedHashSet::•<dynamic>();
+    final has-declared-initializer core::Iterable<dynamic>? #t36 = null;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    #t35.{core::Set::addAll}{Invariant}(<dynamic>[]){(core::Iterable<dynamic>) → void};
+  } =>#t35;
   core::Map<core::String, core::int> map80 = block {
-    final core::Map<core::String, core::int> #t60 = <core::String, core::int>{};
-    final has-declared-initializer core::Map<core::String, core::int>? #t61 = null;
-    if(!(#t61 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t62 in #t61{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String}, #t62.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t60;
+    final core::Map<core::String, core::int> #t37 = <core::String, core::int>{};
+    final has-declared-initializer core::Map<core::String, core::int>? #t38 = null;
+    if(!(#t38 == null))
+      #t37.{core::Map::addAll}{Invariant}(#t38{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t37;
   core::Map<core::String, core::int> map90 = block {
-    final core::Map<core::String, core::int> #t63 = <core::String, core::int>{};
-    for (final has-declared-initializer core::MapEntry<core::String, core::int> #t64 in self::bar<core::String, core::int>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-      #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String}, #t64.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t63;
+    final core::Map<core::String, core::int> #t39 = col::LinkedHashMap::of<core::String, core::int>(self::bar<core::String, core::int>());
+  } =>#t39;
   core::List<core::int> list100 = <core::int>[invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
   List<int> list100 = <int>[...listNum];
                                ^"];
@@ -365,19 +319,19 @@
   Map<num, int> map100 = <num, int>{...mapIntNum};
                                        ^"};
   core::List<core::int> list110 = block {
-    final core::List<core::int> #t65 = <core::int>[];
-    for (final has-declared-initializer dynamic #t66 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
-      final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-      #t65.{core::List::add}{Invariant}(#t67){(core::int) → void};
+    final core::List<core::int> #t40 = <core::int>[];
+    for (final has-declared-initializer dynamic #t41 in dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::int;
+      #t40.{core::List::add}{Invariant}(#t42){(core::int) → void};
     }
-  } =>#t65;
+  } =>#t40;
   core::Map<core::num, core::int> map110 = block {
-    final core::Map<core::num, core::int> #t68 = <core::num, core::int>{};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t69 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}) {
-      final core::num #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
-      final core::int #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
-      #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num, core::int) → void};
+    final core::Map<core::num, core::int> #t43 = <core::num, core::int>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t44 in (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}) {
+      final core::num #t45 = #t44.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::int #t46 = #t44.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t43.{core::Map::[]=}{Invariant}(#t45, #t46){(core::num, core::int) → void};
     }
-  } =>#t68;
+  } =>#t43;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.transformed.expect b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.transformed.expect
index 6590b5c..2c70c54 100644
--- a/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/spread_collection_inference2.dart.weak.transformed.expect
@@ -128,148 +128,69 @@
     final core::Set<dynamic> #t2 = col::LinkedHashSet::of<dynamic>(core::_GrowableList::•<dynamic>(0));
   } =>#t2;
   core::Map<dynamic, dynamic> map10 = block {
-    final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-      }
-    }
+    final core::Map<dynamic, dynamic> #t3 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
   } =>#t3;
   core::Map<dynamic, dynamic> map10ambiguous = block {
-    final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = <dynamic, dynamic>{}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-      }
-    }
-  } =>#t5;
+    final core::Map<dynamic, dynamic> #t4 = col::LinkedHashMap::of<dynamic, dynamic>(<dynamic, dynamic>{});
+  } =>#t4;
   core::List<core::int> lhs20 = block {
-    final core::List<core::int> #t7 = core::List::of<core::int>(spread);
-  } =>#t7;
+    final core::List<core::int> #t5 = core::List::of<core::int>(spread);
+  } =>#t5;
   core::Set<core::int> set20 = block {
-    final core::Set<core::int> #t8 = col::LinkedHashSet::of<core::int>(spread);
-    #t8.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t8;
+    final core::Set<core::int> #t6 = col::LinkedHashSet::of<core::int>(spread);
+    #t6.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t6;
   core::Set<core::int> set20ambiguous = block {
-    final core::Set<core::int> #t9 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<core::int> :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t10 = :sync-for-iterator.{core::Iterator::current}{core::int};
-        {
-          final core::int #t11 = #t10 as{TypeError,ForNonNullableByDefault} core::int;
-          #t9.{core::Set::add}{Invariant}(#t11){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t9;
+    final core::Set<core::int> #t7 = col::LinkedHashSet::of<core::int>(spread);
+  } =>#t7;
   core::Map<core::String, core::int> map20 = block {
-    final core::Map<core::String, core::int> #t12 = <core::String, core::int>{};
-    {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{core::String}, #t13.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-    #t12.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
-  } =>#t12;
+    final core::Map<core::String, core::int> #t8 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+    #t8.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+  } =>#t8;
   core::Map<core::String, core::int> map20ambiguous = block {
-    final core::Map<core::String, core::int> #t14 = <core::String, core::int>{};
-    {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-  } =>#t14;
+    final core::Map<core::String, core::int> #t9 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+  } =>#t9;
   core::List<dynamic> lhs21 = block {
-    final core::List<dynamic> #t16 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
-  } =>#t16;
+    final core::List<dynamic> #t10 = core::List::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+  } =>#t10;
   core::Set<dynamic> set21 = block {
-    final core::Set<dynamic> #t17 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
-    #t17.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
-  } =>#t17;
+    final core::Set<dynamic> #t11 = col::LinkedHashSet::of<dynamic>((spread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t11.{core::Set::add}{Invariant}(42){(dynamic) → core::bool};
+  } =>#t11;
   core::Map<dynamic, dynamic> map21 = block {
-    final core::Map<dynamic, dynamic> #t18 = <dynamic, dynamic>{};
-    {
-      core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = ((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-      }
-    }
-    #t18.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
-  } =>#t18;
+    final core::Map<dynamic, dynamic> #t12 = col::LinkedHashMap::of<dynamic, dynamic>((mapSpread as{ForNonNullableByDefault} dynamic) as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>);
+    #t12.{core::Map::[]=}{Invariant}("baz", 42){(dynamic, dynamic) → void};
+  } =>#t12;
   dynamic map21ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:60:28: Error: Not enough type information to disambiguate between literal set and literal map.
 Try providing type arguments for the literal explicitly to disambiguate it.
   dynamic map21ambiguous = {...(mapSpread as dynamic)};
                            ^";
   core::List<core::int> lhs22 = block {
-    final core::List<core::int> #t20 = core::List::of<core::int>(core::_GrowableList::•<core::int>(0));
-  } =>#t20;
+    final core::List<core::int> #t13 = core::List::of<core::int>(core::_GrowableList::•<core::int>(0));
+  } =>#t13;
   core::Set<core::int> set22 = block {
-    final core::Set<core::int> #t21 = col::LinkedHashSet::of<core::int>(core::_GrowableList::•<core::int>(0));
-    #t21.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t21;
+    final core::Set<core::int> #t14 = col::LinkedHashSet::of<core::int>(core::_GrowableList::•<core::int>(0));
+    #t14.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t14;
   core::Set<core::int> set22ambiguous = block {
-    final core::Set<core::int> #t22 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<core::int> :sync-for-iterator = core::_GrowableList::•<core::int>(0).{core::Iterable::iterator}{core::Iterator<core::int>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{core::int};
-        {
-          final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
-          #t22.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t22;
+    final core::Set<core::int> #t15 = col::LinkedHashSet::of<core::int>(core::_GrowableList::•<core::int>(0));
+  } =>#t15;
   core::Map<core::String, core::int> map22 = block {
-    final core::Map<core::String, core::int> #t25 = <core::String, core::int>{};
-    {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = <core::String, core::int>{}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t26 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t25.{core::Map::[]=}{Invariant}(#t26.{core::MapEntry::key}{core::String}, #t26.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-  } =>#t25;
+    final core::Map<core::String, core::int> #t16 = col::LinkedHashMap::of<core::String, core::int>(<core::String, core::int>{});
+  } =>#t16;
   core::List<core::List<core::int>> lhs23 = block {
-    final core::List<core::List<core::int>> #t27 = core::List::of<core::List<core::int>>(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)));
-  } =>#t27;
+    final core::List<core::List<core::int>> #t17 = core::List::of<core::List<core::int>>(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)));
+  } =>#t17;
   core::Set<core::List<core::int>> set23 = block {
-    final core::Set<core::List<core::int>> #t28 = col::LinkedHashSet::of<core::List<core::int>>(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)));
-    #t28.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>) → core::bool};
-  } =>#t28;
+    final core::Set<core::List<core::int>> #t18 = col::LinkedHashSet::of<core::List<core::int>>(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)));
+    #t18.{core::Set::add}{Invariant}(core::_GrowableList::_literal1<core::int>(42)){(core::List<core::int>) → core::bool};
+  } =>#t18;
   core::Set<core::List<core::int>> set23ambiguous = block {
-    final core::Set<core::List<core::int>> #t29 = new col::_CompactLinkedHashSet::•<core::List<core::int>>();
-    {
-      core::Iterator<core::List<core::int>> :sync-for-iterator = core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)).{core::Iterable::iterator}{core::Iterator<core::List<core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t30 = :sync-for-iterator.{core::Iterator::current}{core::List<core::int>};
-        {
-          final core::List<core::int> #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::List<core::int>;
-          #t29.{core::Set::add}{Invariant}(#t31){(core::List<core::int>) → core::bool};
-        }
-      }
-    }
-  } =>#t29;
+    final core::Set<core::List<core::int>> #t19 = col::LinkedHashSet::of<core::List<core::int>>(core::_GrowableList::_literal1<core::List<core::int>>(core::_GrowableList::•<core::int>(0)));
+  } =>#t19;
   core::Map<core::String, core::List<core::int>> map23 = block {
-    final core::Map<core::String, core::List<core::int>> #t32 = <core::String, core::List<core::int>>{};
-    {
-      core::Iterator<core::MapEntry<core::String, core::List<core::int>>> :sync-for-iterator = <core::String, core::List<core::int>>{"baz": core::_GrowableList::•<core::int>(0)}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::List<core::int>>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::List<core::int>>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::List<core::int>> #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::List<core::int>>};
-        #t32.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::String}, #t33.{core::MapEntry::value}{core::List<core::int>}){(core::String, core::List<core::int>) → void};
-      }
-    }
-  } =>#t32;
+    final core::Map<core::String, core::List<core::int>> #t20 = col::LinkedHashMap::of<core::String, core::List<core::int>>(<core::String, core::List<core::int>>{"baz": core::_GrowableList::•<core::int>(0)});
+  } =>#t20;
   dynamic map24ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:92:28: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
   dynamic map24ambiguous = {...spread, ...mapSpread};
                            ^";
@@ -277,67 +198,43 @@
  - 'List' is from 'dart:core'.
   int lhs30 = /*@typeArgs=int*/ [...spread];
                                 ^" in ( block {
-    final core::List<core::int> #t34 = core::List::of<core::int>(spread);
-  } =>#t34) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::List<core::int> #t21 = core::List::of<core::int>(spread);
+  } =>#t21) as{TypeError,ForNonNullableByDefault} core::int;
   core::int set30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:96:33: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
   int set30 = /*@typeArgs=int*/ {...spread, 42};
                                 ^" in ( block {
-    final core::Set<core::int> #t35 = col::LinkedHashSet::of<core::int>(spread);
-    #t35.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
-  } =>#t35) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Set<core::int> #t22 = col::LinkedHashSet::of<core::int>(spread);
+    #t22.{core::Set::add}{Invariant}(42){(core::int) → core::bool};
+  } =>#t22) as{TypeError,ForNonNullableByDefault} core::int;
   core::int set30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:99:7: Error: A value of type 'Set<int>' can't be assigned to a variable of type 'int'.
  - 'Set' is from 'dart:core'.
       {...spread};
       ^" in ( block {
-    final core::Set<core::int> #t36 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<core::int> :sync-for-iterator = spread.{core::Iterable::iterator}{core::Iterator<core::int>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t37 = :sync-for-iterator.{core::Iterator::current}{core::int};
-        {
-          final core::int #t38 = #t37 as{TypeError,ForNonNullableByDefault} core::int;
-          #t36.{core::Set::add}{Invariant}(#t38){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t36) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Set<core::int> #t23 = col::LinkedHashSet::of<core::int>(spread);
+  } =>#t23) as{TypeError,ForNonNullableByDefault} core::int;
   core::int map30 = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:102:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread, \"baz\": 42};
       ^" in ( block {
-    final core::Map<core::String, core::int> #t39 = <core::String, core::int>{};
-    {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t40 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t39.{core::Map::[]=}{Invariant}(#t40.{core::MapEntry::key}{core::String}, #t40.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-    #t39.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
-  } =>#t39) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Map<core::String, core::int> #t24 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+    #t24.{core::Map::[]=}{Invariant}("baz", 42){(core::String, core::int) → void};
+  } =>#t24) as{TypeError,ForNonNullableByDefault} core::int;
   core::int map30ambiguous = invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:105:7: Error: A value of type 'Map<String, int>' can't be assigned to a variable of type 'int'.
  - 'Map' is from 'dart:core'.
       {...mapSpread};
       ^" in ( block {
-    final core::Map<core::String, core::int> #t41 = <core::String, core::int>{};
-    {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = mapSpread.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t42 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t41.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{core::String}, #t42.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-  } =>#t41) as{TypeError,ForNonNullableByDefault} core::int;
+    final core::Map<core::String, core::int> #t25 = col::LinkedHashMap::of<core::String, core::int>(mapSpread);
+  } =>#t25) as{TypeError,ForNonNullableByDefault} core::int;
   core::List<dynamic> lhs40 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:107:38: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   List<dynamic> lhs40 = <dynamic>[...notSpreadInt];
                                      ^");
   core::Set<dynamic> set40 = block {
-    final core::Set<dynamic> #t43 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t43.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic> #t26 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t26.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:109:37: Error: Unexpected type 'int' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set40 = <dynamic>{...notSpreadInt};
                                     ^"){(dynamic) → core::bool};
-  } =>#t43;
+  } =>#t26;
   core::Map<dynamic, dynamic> map40 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:111:55: Error: Unexpected type 'int' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map40 = <dynamic, dynamic>{...notSpreadInt};
                                                       ^": null};
@@ -345,11 +242,11 @@
   List<dynamic> lhs50 = <dynamic>[...notSpreadFunction];
                                      ^");
   core::Set<dynamic> set50 = block {
-    final core::Set<dynamic> #t44 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t44.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<dynamic> #t27 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t27.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:115:37: Error: Unexpected type 'int Function()?' of a spread.  Expected 'dynamic' or an Iterable.
   Set<dynamic> set50 = <dynamic>{...notSpreadFunction};
                                     ^"){(dynamic) → core::bool};
-  } =>#t44;
+  } =>#t27;
   core::Map<dynamic, dynamic> map50 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:117:55: Error: Unexpected type 'int Function()?' of a map spread entry.  Expected 'dynamic' or a Map.
   Map<dynamic, dynamic> map50 = <dynamic, dynamic>{...notSpreadFunction};
                                                       ^": null};
@@ -357,11 +254,11 @@
   List<String> lhs60 = <String>[...spread];
                                    ^");
   core::Set<core::String> set60 = block {
-    final core::Set<core::String> #t45 = new col::_CompactLinkedHashSet::•<core::String>();
-    #t45.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
+    final core::Set<core::String> #t28 = new col::_CompactLinkedHashSet::•<core::String>();
+    #t28.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:121:35: Error: Can't assign spread elements of type 'int' to collection elements of type 'String'.
   Set<String> set60 = <String>{...spread};
                                   ^"){(core::String) → core::bool};
-  } =>#t45;
+  } =>#t28;
   core::Map<core::int, core::int> map60 = <core::int, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:123:39: Error: Can't assign spread entry keys of type 'String' to map entry keys of type 'int'.
   Map<int, int> map60 = <int, int>{...mapSpread};
                                       ^": null};
@@ -372,87 +269,49 @@
   List<int> lhs70 = <int>[...null];
                              ^");
   core::Set<core::int> set70 = block {
-    final core::Set<core::int> #t46 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t46.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
+    final core::Set<core::int> #t29 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t29.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:129:29: Error: Can't spread a value with static type 'Null'.
   Set<int> set70 = <int>{...null};
                             ^"){(core::int) → core::bool};
-  } =>#t46;
+  } =>#t29;
   core::Set<dynamic> set71ambiguous = block {
-    final core::Set<dynamic> #t47 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t47.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
+    final core::Set<dynamic> #t30 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t30.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:133:8: Error: Can't spread a value with static type 'Null'.
     ...null,
        ^"){(dynamic) → core::bool};
-    {
-      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t48 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final dynamic #t49 = #t48 as{TypeError,ForNonNullableByDefault} dynamic;
-          #t47.{core::Set::add}{Invariant}(#t49){(dynamic) → core::bool};
-        }
-      }
-    }
-  } =>#t47;
+    #t30.{core::Set::addAll}{Invariant}(core::_GrowableList::•<dynamic>(0)){(core::Iterable<dynamic>) → void};
+  } =>#t30;
   core::Map<core::String, core::int> map70 = <core::String, core::int>{invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:138:45: Error: Can't spread a value with static type 'Null'.
   Map<String, int> map70 = <String, int>{...null};
                                             ^": null};
   core::List<core::int> lhs80 = block {
-    final core::List<core::int> #t50 = core::_GrowableList::•<core::int>(0);
-    final has-declared-initializer core::Iterable<core::int>? #t51 = null;
-    if(!(#t51 == null))
-      #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t50;
+    final core::List<core::int> #t31 = core::_GrowableList::•<core::int>(0);
+    final has-declared-initializer core::Iterable<core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t31;
   core::Set<core::int> set80 = block {
-    final core::Set<core::int> #t52 = new col::_CompactLinkedHashSet::•<core::int>();
-    final has-declared-initializer core::Iterable<core::int>? #t53 = null;
-    if(!(#t53 == null))
-      #t52.{core::Set::addAll}{Invariant}(#t53{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t52;
+    final core::Set<core::int> #t33 = new col::_CompactLinkedHashSet::•<core::int>();
+    final has-declared-initializer core::Iterable<core::int>? #t34 = null;
+    if(!(#t34 == null))
+      #t33.{core::Set::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t33;
   core::Set<dynamic> set81ambiguous = block {
-    final core::Set<dynamic> #t54 = new col::_CompactLinkedHashSet::•<dynamic>();
-    final has-declared-initializer core::Iterable<dynamic>? #t55 = null;
-    if(!(#t55 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t55{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t56 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final dynamic #t57 = #t56 as{TypeError,ForNonNullableByDefault} dynamic;
-          #t54.{core::Set::add}{Invariant}(#t57){(dynamic) → core::bool};
-        }
-      }
-    }
-    {
-      core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::•<dynamic>(0).{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final dynamic #t59 = #t58 as{TypeError,ForNonNullableByDefault} dynamic;
-          #t54.{core::Set::add}{Invariant}(#t59){(dynamic) → core::bool};
-        }
-      }
-    }
-  } =>#t54;
+    final core::Set<dynamic> #t35 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final has-declared-initializer core::Iterable<dynamic>? #t36 = null;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    #t35.{core::Set::addAll}{Invariant}(core::_GrowableList::•<dynamic>(0)){(core::Iterable<dynamic>) → void};
+  } =>#t35;
   core::Map<core::String, core::int> map80 = block {
-    final core::Map<core::String, core::int> #t60 = <core::String, core::int>{};
-    final has-declared-initializer core::Map<core::String, core::int>? #t61 = null;
-    if(!(#t61 == null)) {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t61{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t62 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t60.{core::Map::[]=}{Invariant}(#t62.{core::MapEntry::key}{core::String}, #t62.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-  } =>#t60;
+    final core::Map<core::String, core::int> #t37 = <core::String, core::int>{};
+    final has-declared-initializer core::Map<core::String, core::int>? #t38 = null;
+    if(!(#t38 == null))
+      #t37.{core::Map::addAll}{Invariant}(#t38{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t37;
   core::Map<core::String, core::int> map90 = block {
-    final core::Map<core::String, core::int> #t63 = <core::String, core::int>{};
-    {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = self::bar<core::String, core::int>().{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t64 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t63.{core::Map::[]=}{Invariant}(#t64.{core::MapEntry::key}{core::String}, #t64.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-  } =>#t63;
+    final core::Map<core::String, core::int> #t39 = col::LinkedHashMap::of<core::String, core::int>(self::bar<core::String, core::int>());
+  } =>#t39;
   core::List<core::int> list100 = core::_GrowableList::_literal1<core::int>(invalid-expression "pkg/front_end/testcases/general/spread_collection_inference2.dart:153:32: Error: Can't assign spread elements of type 'num' to collection elements of type 'int'.
   List<int> list100 = <int>[...listNum];
                                ^");
@@ -460,31 +319,31 @@
   Map<num, int> map100 = <num, int>{...mapIntNum};
                                        ^"};
   core::List<core::int> list110 = block {
-    final core::List<core::int> #t65 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t40 = core::_GrowableList::•<core::int>(0);
     {
       core::Iterator<dynamic> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t41 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-          #t65.{core::List::add}{Invariant}(#t67){(core::int) → void};
+          final core::int #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::int;
+          #t40.{core::List::add}{Invariant}(#t42){(core::int) → void};
         }
       }
     }
-  } =>#t65;
+  } =>#t40;
   core::Map<core::num, core::int> map110 = block {
-    final core::Map<core::num, core::int> #t68 = <core::num, core::int>{};
+    final core::Map<core::num, core::int> #t43 = <core::num, core::int>{};
     {
       core::Iterator<core::MapEntry<core::num, core::int>> :sync-for-iterator = (dynVar as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::int>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t69 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::int>};
+        final core::MapEntry<dynamic, dynamic> #t44 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::int>};
         {
-          final core::num #t70 = #t69.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
-          final core::int #t71 = #t69.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
-          #t68.{core::Map::[]=}{Invariant}(#t70, #t71){(core::num, core::int) → void};
+          final core::num #t45 = #t44.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          final core::int #t46 = #t44.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t43.{core::Map::[]=}{Invariant}(#t45, #t46){(core::num, core::int) → void};
         }
       }
     }
-  } =>#t68;
+  } =>#t43;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
index 83818f4..09256d1 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.expect
@@ -146,144 +146,134 @@
     #t15.{core::Set::add}{Invariant}(n1){(Never) → core::bool};
   } =>#t15;
   core::Map<Never, Never> m1 = block {
-    final core::Map<Never, Never> #t17 = <Never, Never>{};
-    for (final has-declared-initializer core::MapEntry<Never, Never> #t18 in n1.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-      #t17.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}{Never}, #t18.{core::MapEntry::value}{Never}){(Never, Never) → void};
+    final core::Map<Never, Never> #t17 = col::LinkedHashMap::of<Never, Never>(n1);
     #t17.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
   } =>#t17;
   core::Map<Never, Never> m2 = block {
-    final core::Map<Never, Never> #t19 = <Never, Never>{};
-    final core::Map<Never, Never>? #t20 = n1;
-    if(!(#t20 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t21 in #t20{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t19.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{Never}, #t21.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t19.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
-  } =>#t19;
+    final core::Map<Never, Never> #t18 = <Never, Never>{};
+    final core::Map<Never, Never>? #t19 = n1;
+    if(!(#t19 == null))
+      #t18.{core::Map::addAll}{Invariant}(#t19{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t18.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
+  } =>#t18;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
   var m3 = {...n2, n1: n1};
                ^": null, n1: n1};
   core::Map<Never, Never> m4 = block {
-    final core::Map<Never, Never> #t22 = <Never, Never>{};
-    final core::Map<Never, Never>? #t23 = n2;
-    if(!(#t23 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t24 in #t23{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t22.{core::Map::[]=}{Invariant}(#t24.{core::MapEntry::key}{Never}, #t24.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t22.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
-  } =>#t22;
+    final core::Map<Never, Never> #t20 = <Never, Never>{};
+    final core::Map<Never, Never>? #t21 = n2;
+    if(!(#t21 == null))
+      #t20.{core::Map::addAll}{Invariant}(#t21{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t20.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
+  } =>#t20;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
   var m5 = {...n3, n1: n1};
                ^": null, n1: n1};
   core::Map<Never, Never> m6 = block {
-    final core::Map<Never, Never> #t25 = <Never, Never>{};
-    final core::Map<Never, Never>? #t26 = n3;
-    if(!(#t26 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t27 in #t26{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}{Never}, #t27.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t25.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
-  } =>#t25;
+    final core::Map<Never, Never> #t22 = <Never, Never>{};
+    final core::Map<Never, Never>? #t23 = n3;
+    if(!(#t23 == null))
+      #t22.{core::Map::addAll}{Invariant}(#t23{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t22.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
+  } =>#t22;
 }
 static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
   core::List<Never> l1 = block {
-    final core::List<Never> #t28 = core::List::of<Never>(n1);
-  } =>#t28;
+    final core::List<Never> #t24 = core::List::of<Never>(n1);
+  } =>#t24;
   core::List<Never> l2 = block {
-    final core::List<Never> #t29 = <Never>[];
-    final core::Iterable<Never>? #t30 = n1;
-    if(!(#t30 == null))
-      #t29.{core::List::addAll}{Invariant}(#t30{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t29;
+    final core::List<Never> #t25 = <Never>[];
+    final core::Iterable<Never>? #t26 = n1;
+    if(!(#t26 == null))
+      #t25.{core::List::addAll}{Invariant}(#t26{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t25;
   core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
   var l3 = [...n2];
                ^"];
   core::List<Never> l4 = block {
-    final core::List<Never> #t31 = <Never>[];
-    final core::Iterable<Never>? #t32 = n2;
-    if(!(#t32 == null))
-      #t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t31;
+    final core::List<Never> #t27 = <Never>[];
+    final core::Iterable<Never>? #t28 = n2;
+    if(!(#t28 == null))
+      #t27.{core::List::addAll}{Invariant}(#t28{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t27;
   core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
   var l5 = [...n3];
                ^"];
   core::List<Never> l6 = block {
-    final core::List<Never> #t33 = <Never>[];
-    final core::Iterable<Never>? #t34 = n3;
-    if(!(#t34 == null))
-      #t33.{core::List::addAll}{Invariant}(#t34{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t33;
+    final core::List<Never> #t29 = <Never>[];
+    final core::Iterable<Never>? #t30 = n3;
+    if(!(#t30 == null))
+      #t29.{core::List::addAll}{Invariant}(#t30{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t29;
   core::Set<self::test2::N1> s1 = block {
-    final core::Set<self::test2::N1> #t35 = col::LinkedHashSet::of<self::test2::N1>(n1);
-    #t35.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t35;
+    final core::Set<self::test2::N1> #t31 = col::LinkedHashSet::of<self::test2::N1>(n1);
+    #t31.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t31;
   core::Set<self::test2::N1> s2 = block {
-    final core::Set<self::test2::N1> #t36 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t37 = n1;
-    if(!(#t37 == null))
-      #t36.{core::Set::addAll}{Invariant}(#t37{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t36.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t36;
+    final core::Set<self::test2::N1> #t32 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t33 = n1;
+    if(!(#t33 == null))
+      #t32.{core::Set::addAll}{Invariant}(#t33{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t32.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t32;
   core::Set<dynamic> s3 = block {
-    final core::Set<dynamic> #t38 = col::LinkedHashSet::•<dynamic>();
-    #t38.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+    final core::Set<dynamic> #t34 = col::LinkedHashSet::•<dynamic>();
+    #t34.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
   var s3 = {...n2, n1};
                ^"){(dynamic) → core::bool};
-    #t38.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
-  } =>#t38;
+    #t34.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
+  } =>#t34;
   core::Set<self::test2::N1> s4 = block {
-    final core::Set<self::test2::N1> #t39 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t40 = n2;
-    if(!(#t40 == null))
-      #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t39.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t39;
+    final core::Set<self::test2::N1> #t35 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t36 = n2;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t35.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t35;
   core::Set<dynamic> s5 = block {
-    final core::Set<dynamic> #t41 = col::LinkedHashSet::•<dynamic>();
-    #t41.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+    final core::Set<dynamic> #t37 = col::LinkedHashSet::•<dynamic>();
+    #t37.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
   var s5 = {...n3, n1};
                ^"){(dynamic) → core::bool};
-    #t41.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
-  } =>#t41;
+    #t37.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
+  } =>#t37;
   core::Set<self::test2::N1> s6 = block {
-    final core::Set<self::test2::N1> #t42 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t43 = n3;
-    if(!(#t43 == null))
-      #t42.{core::Set::addAll}{Invariant}(#t43{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t42.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t42;
+    final core::Set<self::test2::N1> #t38 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t39 = n3;
+    if(!(#t39 == null))
+      #t38.{core::Set::addAll}{Invariant}(#t39{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t38.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t38;
   core::Map<self::test2::N1, self::test2::N1> m1 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t44 = <self::test2::N1, self::test2::N1>{};
-    for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t45 in n1.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-      #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}{self::test2::N1}, #t45.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t44.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t44;
+    final core::Map<self::test2::N1, self::test2::N1> #t40 = col::LinkedHashMap::of<self::test2::N1, self::test2::N1>(n1);
+    #t40.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t40;
   core::Map<self::test2::N1, self::test2::N1> m2 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t46 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t47 = n1;
-    if(!(#t47 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t48 in #t47{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t46.{core::Map::[]=}{Invariant}(#t48.{core::MapEntry::key}{self::test2::N1}, #t48.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t46.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t46;
+    final core::Map<self::test2::N1, self::test2::N1> #t41 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t42 = n1;
+    if(!(#t42 == null))
+      #t41.{core::Map::addAll}{Invariant}(#t42{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t41.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t41;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
   var m3 = {...n2, n1: n1};
                ^": null, n1: n1};
   core::Map<self::test2::N1, self::test2::N1> m4 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t49 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t50 = n2;
-    if(!(#t50 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t51 in #t50{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t49.{core::Map::[]=}{Invariant}(#t51.{core::MapEntry::key}{self::test2::N1}, #t51.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t49.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t49;
+    final core::Map<self::test2::N1, self::test2::N1> #t43 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t44 = n2;
+    if(!(#t44 == null))
+      #t43.{core::Map::addAll}{Invariant}(#t44{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t43.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t43;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
   var m5 = {...n3, n1: n1};
                ^": null, n1: n1};
   core::Map<self::test2::N1, self::test2::N1> m6 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t52 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t53 = n3;
-    if(!(#t53 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t54 in #t53{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t52.{core::Map::[]=}{Invariant}(#t54.{core::MapEntry::key}{self::test2::N1}, #t54.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t52.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t52;
+    final core::Map<self::test2::N1, self::test2::N1> #t45 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t46 = n3;
+    if(!(#t46 == null))
+      #t45.{core::Map::addAll}{Invariant}(#t46{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t45.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t45;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
index a7b418d..6b29462 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.strong.transformed.expect
@@ -146,178 +146,134 @@
     #t15.{core::Set::add}{Invariant}(n1){(Never) → core::bool};
   } =>#t15;
   core::Map<Never, Never> m1 = block {
-    final core::Map<Never, Never> #t17 = <Never, Never>{};
-    {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t17.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}{Never}, #t18.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
+    final core::Map<Never, Never> #t17 = col::LinkedHashMap::of<Never, Never>(n1);
     #t17.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
   } =>#t17;
   core::Map<Never, Never> m2 = block {
-    final core::Map<Never, Never> #t19 = <Never, Never>{};
-    final core::Map<Never, Never>? #t20 = n1;
-    if(!(#t20 == null)) {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t20{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t19.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{Never}, #t21.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
-    #t19.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
-  } =>#t19;
+    final core::Map<Never, Never> #t18 = <Never, Never>{};
+    final core::Map<Never, Never>? #t19 = n1;
+    if(!(#t19 == null))
+      #t18.{core::Map::addAll}{Invariant}(#t19{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t18.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
+  } =>#t18;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
   var m3 = {...n2, n1: n1};
                ^": null, n1: n1};
   core::Map<Never, Never> m4 = block {
-    final core::Map<Never, Never> #t22 = <Never, Never>{};
-    final core::Map<Never, Never>? #t23 = n2;
-    if(!(#t23 == null)) {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t23{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t24 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t22.{core::Map::[]=}{Invariant}(#t24.{core::MapEntry::key}{Never}, #t24.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
-    #t22.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
-  } =>#t22;
+    final core::Map<Never, Never> #t20 = <Never, Never>{};
+    final core::Map<Never, Never>? #t21 = n2;
+    if(!(#t21 == null))
+      #t20.{core::Map::addAll}{Invariant}(#t21{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t20.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
+  } =>#t20;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
   var m5 = {...n3, n1: n1};
                ^": null, n1: n1};
   core::Map<Never, Never> m6 = block {
-    final core::Map<Never, Never> #t25 = <Never, Never>{};
-    final core::Map<Never, Never>? #t26 = n3;
-    if(!(#t26 == null)) {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t26{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t27 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}{Never}, #t27.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
-    #t25.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
-  } =>#t25;
+    final core::Map<Never, Never> #t22 = <Never, Never>{};
+    final core::Map<Never, Never>? #t23 = n3;
+    if(!(#t23 == null))
+      #t22.{core::Map::addAll}{Invariant}(#t23{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t22.{core::Map::[]=}{Invariant}(n1, n1){(Never, Never) → void};
+  } =>#t22;
 }
 static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
   core::List<Never> l1 = block {
-    final core::List<Never> #t28 = core::List::of<Never>(n1);
-  } =>#t28;
+    final core::List<Never> #t24 = core::List::of<Never>(n1);
+  } =>#t24;
   core::List<Never> l2 = block {
-    final core::List<Never> #t29 = core::_GrowableList::•<Never>(0);
-    final core::Iterable<Never>? #t30 = n1;
-    if(!(#t30 == null))
-      #t29.{core::List::addAll}{Invariant}(#t30{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t29;
+    final core::List<Never> #t25 = core::_GrowableList::•<Never>(0);
+    final core::Iterable<Never>? #t26 = n1;
+    if(!(#t26 == null))
+      #t25.{core::List::addAll}{Invariant}(#t26{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t25;
   core::List<dynamic> l3 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
   var l3 = [...n2];
                ^");
   core::List<Never> l4 = block {
-    final core::List<Never> #t31 = core::_GrowableList::•<Never>(0);
-    final core::Iterable<Never>? #t32 = n2;
-    if(!(#t32 == null))
-      #t31.{core::List::addAll}{Invariant}(#t32{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t31;
+    final core::List<Never> #t27 = core::_GrowableList::•<Never>(0);
+    final core::Iterable<Never>? #t28 = n2;
+    if(!(#t28 == null))
+      #t27.{core::List::addAll}{Invariant}(#t28{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t27;
   core::List<dynamic> l5 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
   var l5 = [...n3];
                ^");
   core::List<Never> l6 = block {
-    final core::List<Never> #t33 = core::_GrowableList::•<Never>(0);
-    final core::Iterable<Never>? #t34 = n3;
-    if(!(#t34 == null))
-      #t33.{core::List::addAll}{Invariant}(#t34{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t33;
+    final core::List<Never> #t29 = core::_GrowableList::•<Never>(0);
+    final core::Iterable<Never>? #t30 = n3;
+    if(!(#t30 == null))
+      #t29.{core::List::addAll}{Invariant}(#t30{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t29;
   core::Set<self::test2::N1> s1 = block {
-    final core::Set<self::test2::N1> #t35 = col::LinkedHashSet::of<self::test2::N1>(n1);
-    #t35.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t35;
+    final core::Set<self::test2::N1> #t31 = col::LinkedHashSet::of<self::test2::N1>(n1);
+    #t31.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t31;
   core::Set<self::test2::N1> s2 = block {
-    final core::Set<self::test2::N1> #t36 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t37 = n1;
-    if(!(#t37 == null))
-      #t36.{core::Set::addAll}{Invariant}(#t37{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t36.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t36;
+    final core::Set<self::test2::N1> #t32 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t33 = n1;
+    if(!(#t33 == null))
+      #t32.{core::Set::addAll}{Invariant}(#t33{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t32.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t32;
   core::Set<dynamic> s3 = block {
-    final core::Set<dynamic> #t38 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t38.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+    final core::Set<dynamic> #t34 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t34.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
   var s3 = {...n2, n1};
                ^"){(dynamic) → core::bool};
-    #t38.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
-  } =>#t38;
+    #t34.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
+  } =>#t34;
   core::Set<self::test2::N1> s4 = block {
-    final core::Set<self::test2::N1> #t39 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t40 = n2;
-    if(!(#t40 == null))
-      #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t39.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t39;
+    final core::Set<self::test2::N1> #t35 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t36 = n2;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t35.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t35;
   core::Set<dynamic> s5 = block {
-    final core::Set<dynamic> #t41 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t41.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+    final core::Set<dynamic> #t37 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t37.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
   var s5 = {...n3, n1};
                ^"){(dynamic) → core::bool};
-    #t41.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
-  } =>#t41;
+    #t37.{core::Set::add}{Invariant}(n1){(dynamic) → core::bool};
+  } =>#t37;
   core::Set<self::test2::N1> s6 = block {
-    final core::Set<self::test2::N1> #t42 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t43 = n3;
-    if(!(#t43 == null))
-      #t42.{core::Set::addAll}{Invariant}(#t43{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t42.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
-  } =>#t42;
+    final core::Set<self::test2::N1> #t38 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t39 = n3;
+    if(!(#t39 == null))
+      #t38.{core::Set::addAll}{Invariant}(#t39{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t38.{core::Set::add}{Invariant}(n1){(self::test2::N1) → core::bool};
+  } =>#t38;
   core::Map<self::test2::N1, self::test2::N1> m1 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t44 = <self::test2::N1, self::test2::N1>{};
-    {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = n1.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t45 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t44.{core::Map::[]=}{Invariant}(#t45.{core::MapEntry::key}{self::test2::N1}, #t45.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
-    #t44.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t44;
+    final core::Map<self::test2::N1, self::test2::N1> #t40 = col::LinkedHashMap::of<self::test2::N1, self::test2::N1>(n1);
+    #t40.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t40;
   core::Map<self::test2::N1, self::test2::N1> m2 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t46 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t47 = n1;
-    if(!(#t47 == null)) {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t47{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t48 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t46.{core::Map::[]=}{Invariant}(#t48.{core::MapEntry::key}{self::test2::N1}, #t48.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
-    #t46.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t46;
+    final core::Map<self::test2::N1, self::test2::N1> #t41 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t42 = n1;
+    if(!(#t42 == null))
+      #t41.{core::Map::addAll}{Invariant}(#t42{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t41.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t41;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
   var m3 = {...n2, n1: n1};
                ^": null, n1: n1};
   core::Map<self::test2::N1, self::test2::N1> m4 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t49 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t50 = n2;
-    if(!(#t50 == null)) {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t50{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t51 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t49.{core::Map::[]=}{Invariant}(#t51.{core::MapEntry::key}{self::test2::N1}, #t51.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
-    #t49.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t49;
+    final core::Map<self::test2::N1, self::test2::N1> #t43 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t44 = n2;
+    if(!(#t44 == null))
+      #t43.{core::Map::addAll}{Invariant}(#t44{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t43.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t43;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
   var m5 = {...n3, n1: n1};
                ^": null, n1: n1};
   core::Map<self::test2::N1, self::test2::N1> m6 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t52 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t53 = n3;
-    if(!(#t53 == null)) {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t53{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t54 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t52.{core::Map::[]=}{Invariant}(#t54.{core::MapEntry::key}{self::test2::N1}, #t54.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
-    #t52.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
-  } =>#t52;
+    final core::Map<self::test2::N1, self::test2::N1> #t45 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t46 = n3;
+    if(!(#t46 == null))
+      #t45.{core::Map::addAll}{Invariant}(#t46{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t45.{core::Map::[]=}{Invariant}(n1, n1){(self::test2::N1, self::test2::N1) → void};
+  } =>#t45;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
index e4f6638..c62d3fc 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.expect
@@ -147,144 +147,134 @@
     #t24.{core::Set::add}{Invariant}(let final Never #t26 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
   } =>#t24;
   core::Map<Never, Never> m1 = block {
-    final core::Map<Never, Never> #t27 = <Never, Never>{};
-    for (final has-declared-initializer core::MapEntry<Never, Never> #t28 in (let final Never #t29 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-      #t27.{core::Map::[]=}{Invariant}(#t28.{core::MapEntry::key}{Never}, #t28.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t27.{core::Map::[]=}{Invariant}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t31 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+    final core::Map<Never, Never> #t27 = col::LinkedHashMap::of<Never, Never>(let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t27.{core::Map::[]=}{Invariant}(let final Never #t29 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
   } =>#t27;
   core::Map<Never, Never> m2 = block {
-    final core::Map<Never, Never> #t32 = <Never, Never>{};
-    final core::Map<Never, Never>? #t33 = let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t33 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t35 in #t33{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t32.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}{Never}, #t35.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t32.{core::Map::[]=}{Invariant}(let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t32;
+    final core::Map<Never, Never> #t31 = <Never, Never>{};
+    final core::Map<Never, Never>? #t32 = let final Never #t33 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t31.{core::Map::[]=}{Invariant}(let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t35 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t31;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
   var m3 = {...n2, n1: n1};
-               ^": null, let final Never #t38 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t39 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<Never, Never> m4 = block {
-    final core::Map<Never, Never> #t40 = <Never, Never>{};
-    final core::Map<Never, Never>? #t41 = n2;
-    if(!(#t41 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t42 in #t41{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t40.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{Never}, #t42.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t40.{core::Map::[]=}{Invariant}(let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t40;
+    final core::Map<Never, Never> #t38 = <Never, Never>{};
+    final core::Map<Never, Never>? #t39 = n2;
+    if(!(#t39 == null))
+      #t38.{core::Map::addAll}{Invariant}(#t39{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t38.{core::Map::[]=}{Invariant}(let final Never #t40 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t41 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t38;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
   var m5 = {...n3, n1: n1};
-               ^": null, let final Never #t45 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t46 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final Never #t42 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<Never, Never> m6 = block {
-    final core::Map<Never, Never> #t47 = <Never, Never>{};
-    final core::Map<Never, Never>? #t48 = n3;
-    if(!(#t48 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t49 in #t48{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}{Never}, #t49.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t47.{core::Map::[]=}{Invariant}(let final Never #t50 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t47;
+    final core::Map<Never, Never> #t44 = <Never, Never>{};
+    final core::Map<Never, Never>? #t45 = n3;
+    if(!(#t45 == null))
+      #t44.{core::Map::addAll}{Invariant}(#t45{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t44.{core::Map::[]=}{Invariant}(let final Never #t46 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t47 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t44;
 }
 static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
   core::List<Never> l1 = block {
-    final core::List<Never> #t52 = core::List::of<Never>(let final self::test2::N1 #t53 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
-  } =>#t52;
+    final core::List<Never> #t48 = core::List::of<Never>(let final self::test2::N1 #t49 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+  } =>#t48;
   core::List<Never> l2 = block {
-    final core::List<Never> #t54 = <Never>[];
-    final core::Iterable<Never>? #t55 = let final self::test2::N1 #t56 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t55 == null))
-      #t54.{core::List::addAll}{Invariant}(#t55{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t54;
+    final core::List<Never> #t50 = <Never>[];
+    final core::Iterable<Never>? #t51 = let final self::test2::N1 #t52 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t51 == null))
+      #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t50;
   core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
   var l3 = [...n2];
                ^"];
   core::List<Never> l4 = block {
-    final core::List<Never> #t57 = <Never>[];
-    final core::Iterable<Never>? #t58 = n2;
-    if(!(#t58 == null))
-      #t57.{core::List::addAll}{Invariant}(#t58{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t57;
+    final core::List<Never> #t53 = <Never>[];
+    final core::Iterable<Never>? #t54 = n2;
+    if(!(#t54 == null))
+      #t53.{core::List::addAll}{Invariant}(#t54{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t53;
   core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
   var l5 = [...n3];
                ^"];
   core::List<Never> l6 = block {
-    final core::List<Never> #t59 = <Never>[];
-    final core::Iterable<Never>? #t60 = n3;
-    if(!(#t60 == null))
-      #t59.{core::List::addAll}{Invariant}(#t60{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t59;
+    final core::List<Never> #t55 = <Never>[];
+    final core::Iterable<Never>? #t56 = n3;
+    if(!(#t56 == null))
+      #t55.{core::List::addAll}{Invariant}(#t56{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t55;
   core::Set<self::test2::N1> s1 = block {
-    final core::Set<self::test2::N1> #t61 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
-    #t61.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t61;
+    final core::Set<self::test2::N1> #t57 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t58 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t57.{core::Set::add}{Invariant}(let final self::test2::N1 #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t57;
   core::Set<self::test2::N1> s2 = block {
-    final core::Set<self::test2::N1> #t64 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t65 = let final self::test2::N1 #t66 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t65 == null))
-      #t64.{core::Set::addAll}{Invariant}(#t65{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t67 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t64;
+    final core::Set<self::test2::N1> #t60 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t61 = let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t61 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t61{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t60.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t60;
   core::Set<dynamic> s3 = block {
-    final core::Set<dynamic> #t68 = col::LinkedHashSet::•<dynamic>();
-    #t68.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+    final core::Set<dynamic> #t64 = col::LinkedHashSet::•<dynamic>();
+    #t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
   var s3 = {...n2, n1};
                ^"){(dynamic) → core::bool};
-    #t68.{core::Set::add}{Invariant}(let final self::test2::N1 #t69 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
-  } =>#t68;
+    #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t65 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
+  } =>#t64;
   core::Set<self::test2::N1> s4 = block {
-    final core::Set<self::test2::N1> #t70 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t71 = n2;
-    if(!(#t71 == null))
-      #t70.{core::Set::addAll}{Invariant}(#t71{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t70.{core::Set::add}{Invariant}(let final self::test2::N1 #t72 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t70;
+    final core::Set<self::test2::N1> #t66 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t67 = n2;
+    if(!(#t67 == null))
+      #t66.{core::Set::addAll}{Invariant}(#t67{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t66.{core::Set::add}{Invariant}(let final self::test2::N1 #t68 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t66;
   core::Set<dynamic> s5 = block {
-    final core::Set<dynamic> #t73 = col::LinkedHashSet::•<dynamic>();
-    #t73.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+    final core::Set<dynamic> #t69 = col::LinkedHashSet::•<dynamic>();
+    #t69.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
   var s5 = {...n3, n1};
                ^"){(dynamic) → core::bool};
-    #t73.{core::Set::add}{Invariant}(let final self::test2::N1 #t74 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
-  } =>#t73;
+    #t69.{core::Set::add}{Invariant}(let final self::test2::N1 #t70 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
+  } =>#t69;
   core::Set<self::test2::N1> s6 = block {
-    final core::Set<self::test2::N1> #t75 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t76 = n3;
-    if(!(#t76 == null))
-      #t75.{core::Set::addAll}{Invariant}(#t76{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t75.{core::Set::add}{Invariant}(let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t75;
+    final core::Set<self::test2::N1> #t71 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t72 = n3;
+    if(!(#t72 == null))
+      #t71.{core::Set::addAll}{Invariant}(#t72{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t71.{core::Set::add}{Invariant}(let final self::test2::N1 #t73 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t71;
   core::Map<self::test2::N1, self::test2::N1> m1 = block {
+    final core::Map<self::test2::N1, self::test2::N1> #t74 = col::LinkedHashMap::of<self::test2::N1, self::test2::N1>(let final self::test2::N1 #t75 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t74.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t76 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t74;
+  core::Map<self::test2::N1, self::test2::N1> m2 = block {
     final core::Map<self::test2::N1, self::test2::N1> #t78 = <self::test2::N1, self::test2::N1>{};
-    for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t79 in (let final self::test2::N1 #t80 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-      #t78.{core::Map::[]=}{Invariant}(#t79.{core::MapEntry::key}{self::test2::N1}, #t79.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
+    final core::Map<self::test2::N1, self::test2::N1>? #t79 = let final self::test2::N1 #t80 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t79 == null))
+      #t78.{core::Map::addAll}{Invariant}(#t79{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
     #t78.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t82 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
   } =>#t78;
-  core::Map<self::test2::N1, self::test2::N1> m2 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t83 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t84 = let final self::test2::N1 #t85 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t84 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t86 in #t84{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t83.{core::Map::[]=}{Invariant}(#t86.{core::MapEntry::key}{self::test2::N1}, #t86.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t83.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t83;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
   var m3 = {...n2, n1: n1};
-               ^": null, let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t90 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final self::test2::N1 #t83 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t84 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<self::test2::N1, self::test2::N1> m4 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t92 = n2;
-    if(!(#t92 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t93 in #t92{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t91.{core::Map::[]=}{Invariant}(#t93.{core::MapEntry::key}{self::test2::N1}, #t93.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t91;
+    final core::Map<self::test2::N1, self::test2::N1> #t85 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t86 = n2;
+    if(!(#t86 == null))
+      #t85.{core::Map::addAll}{Invariant}(#t86{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t85.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t85;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
   var m5 = {...n3, n1: n1};
-               ^": null, let final self::test2::N1 #t96 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t97 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t90 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<self::test2::N1, self::test2::N1> m6 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t98 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t99 = n3;
-    if(!(#t99 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t100 in #t99{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{self::test2::N1}, #t100.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t98.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t102 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t98;
+    final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t92 = n3;
+    if(!(#t92 == null))
+      #t91.{core::Map::addAll}{Invariant}(#t92{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t93 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t91;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.modular.expect
index e4f6638..c62d3fc 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.modular.expect
@@ -147,144 +147,134 @@
     #t24.{core::Set::add}{Invariant}(let final Never #t26 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
   } =>#t24;
   core::Map<Never, Never> m1 = block {
-    final core::Map<Never, Never> #t27 = <Never, Never>{};
-    for (final has-declared-initializer core::MapEntry<Never, Never> #t28 in (let final Never #t29 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-      #t27.{core::Map::[]=}{Invariant}(#t28.{core::MapEntry::key}{Never}, #t28.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t27.{core::Map::[]=}{Invariant}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t31 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+    final core::Map<Never, Never> #t27 = col::LinkedHashMap::of<Never, Never>(let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t27.{core::Map::[]=}{Invariant}(let final Never #t29 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
   } =>#t27;
   core::Map<Never, Never> m2 = block {
-    final core::Map<Never, Never> #t32 = <Never, Never>{};
-    final core::Map<Never, Never>? #t33 = let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t33 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t35 in #t33{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t32.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}{Never}, #t35.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t32.{core::Map::[]=}{Invariant}(let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t32;
+    final core::Map<Never, Never> #t31 = <Never, Never>{};
+    final core::Map<Never, Never>? #t32 = let final Never #t33 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t31.{core::Map::[]=}{Invariant}(let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t35 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t31;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
   var m3 = {...n2, n1: n1};
-               ^": null, let final Never #t38 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t39 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<Never, Never> m4 = block {
-    final core::Map<Never, Never> #t40 = <Never, Never>{};
-    final core::Map<Never, Never>? #t41 = n2;
-    if(!(#t41 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t42 in #t41{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t40.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{Never}, #t42.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t40.{core::Map::[]=}{Invariant}(let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t40;
+    final core::Map<Never, Never> #t38 = <Never, Never>{};
+    final core::Map<Never, Never>? #t39 = n2;
+    if(!(#t39 == null))
+      #t38.{core::Map::addAll}{Invariant}(#t39{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t38.{core::Map::[]=}{Invariant}(let final Never #t40 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t41 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t38;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
   var m5 = {...n3, n1: n1};
-               ^": null, let final Never #t45 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t46 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final Never #t42 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<Never, Never> m6 = block {
-    final core::Map<Never, Never> #t47 = <Never, Never>{};
-    final core::Map<Never, Never>? #t48 = n3;
-    if(!(#t48 == null))
-      for (final has-declared-initializer core::MapEntry<Never, Never> #t49 in #t48{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>})
-        #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}{Never}, #t49.{core::MapEntry::value}{Never}){(Never, Never) → void};
-    #t47.{core::Map::[]=}{Invariant}(let final Never #t50 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t47;
+    final core::Map<Never, Never> #t44 = <Never, Never>{};
+    final core::Map<Never, Never>? #t45 = n3;
+    if(!(#t45 == null))
+      #t44.{core::Map::addAll}{Invariant}(#t45{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t44.{core::Map::[]=}{Invariant}(let final Never #t46 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t47 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t44;
 }
 static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
   core::List<Never> l1 = block {
-    final core::List<Never> #t52 = core::List::of<Never>(let final self::test2::N1 #t53 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
-  } =>#t52;
+    final core::List<Never> #t48 = core::List::of<Never>(let final self::test2::N1 #t49 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+  } =>#t48;
   core::List<Never> l2 = block {
-    final core::List<Never> #t54 = <Never>[];
-    final core::Iterable<Never>? #t55 = let final self::test2::N1 #t56 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t55 == null))
-      #t54.{core::List::addAll}{Invariant}(#t55{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t54;
+    final core::List<Never> #t50 = <Never>[];
+    final core::Iterable<Never>? #t51 = let final self::test2::N1 #t52 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t51 == null))
+      #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t50;
   core::List<dynamic> l3 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
   var l3 = [...n2];
                ^"];
   core::List<Never> l4 = block {
-    final core::List<Never> #t57 = <Never>[];
-    final core::Iterable<Never>? #t58 = n2;
-    if(!(#t58 == null))
-      #t57.{core::List::addAll}{Invariant}(#t58{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t57;
+    final core::List<Never> #t53 = <Never>[];
+    final core::Iterable<Never>? #t54 = n2;
+    if(!(#t54 == null))
+      #t53.{core::List::addAll}{Invariant}(#t54{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t53;
   core::List<dynamic> l5 = <dynamic>[invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
   var l5 = [...n3];
                ^"];
   core::List<Never> l6 = block {
-    final core::List<Never> #t59 = <Never>[];
-    final core::Iterable<Never>? #t60 = n3;
-    if(!(#t60 == null))
-      #t59.{core::List::addAll}{Invariant}(#t60{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t59;
+    final core::List<Never> #t55 = <Never>[];
+    final core::Iterable<Never>? #t56 = n3;
+    if(!(#t56 == null))
+      #t55.{core::List::addAll}{Invariant}(#t56{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t55;
   core::Set<self::test2::N1> s1 = block {
-    final core::Set<self::test2::N1> #t61 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
-    #t61.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t61;
+    final core::Set<self::test2::N1> #t57 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t58 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t57.{core::Set::add}{Invariant}(let final self::test2::N1 #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t57;
   core::Set<self::test2::N1> s2 = block {
-    final core::Set<self::test2::N1> #t64 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t65 = let final self::test2::N1 #t66 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t65 == null))
-      #t64.{core::Set::addAll}{Invariant}(#t65{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t67 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t64;
+    final core::Set<self::test2::N1> #t60 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t61 = let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t61 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t61{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t60.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t60;
   core::Set<dynamic> s3 = block {
-    final core::Set<dynamic> #t68 = col::LinkedHashSet::•<dynamic>();
-    #t68.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+    final core::Set<dynamic> #t64 = col::LinkedHashSet::•<dynamic>();
+    #t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
   var s3 = {...n2, n1};
                ^"){(dynamic) → core::bool};
-    #t68.{core::Set::add}{Invariant}(let final self::test2::N1 #t69 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
-  } =>#t68;
+    #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t65 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
+  } =>#t64;
   core::Set<self::test2::N1> s4 = block {
-    final core::Set<self::test2::N1> #t70 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t71 = n2;
-    if(!(#t71 == null))
-      #t70.{core::Set::addAll}{Invariant}(#t71{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t70.{core::Set::add}{Invariant}(let final self::test2::N1 #t72 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t70;
+    final core::Set<self::test2::N1> #t66 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t67 = n2;
+    if(!(#t67 == null))
+      #t66.{core::Set::addAll}{Invariant}(#t67{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t66.{core::Set::add}{Invariant}(let final self::test2::N1 #t68 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t66;
   core::Set<dynamic> s5 = block {
-    final core::Set<dynamic> #t73 = col::LinkedHashSet::•<dynamic>();
-    #t73.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+    final core::Set<dynamic> #t69 = col::LinkedHashSet::•<dynamic>();
+    #t69.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
   var s5 = {...n3, n1};
                ^"){(dynamic) → core::bool};
-    #t73.{core::Set::add}{Invariant}(let final self::test2::N1 #t74 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
-  } =>#t73;
+    #t69.{core::Set::add}{Invariant}(let final self::test2::N1 #t70 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
+  } =>#t69;
   core::Set<self::test2::N1> s6 = block {
-    final core::Set<self::test2::N1> #t75 = col::LinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t76 = n3;
-    if(!(#t76 == null))
-      #t75.{core::Set::addAll}{Invariant}(#t76{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t75.{core::Set::add}{Invariant}(let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t75;
+    final core::Set<self::test2::N1> #t71 = col::LinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t72 = n3;
+    if(!(#t72 == null))
+      #t71.{core::Set::addAll}{Invariant}(#t72{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t71.{core::Set::add}{Invariant}(let final self::test2::N1 #t73 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t71;
   core::Map<self::test2::N1, self::test2::N1> m1 = block {
+    final core::Map<self::test2::N1, self::test2::N1> #t74 = col::LinkedHashMap::of<self::test2::N1, self::test2::N1>(let final self::test2::N1 #t75 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t74.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t76 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t74;
+  core::Map<self::test2::N1, self::test2::N1> m2 = block {
     final core::Map<self::test2::N1, self::test2::N1> #t78 = <self::test2::N1, self::test2::N1>{};
-    for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t79 in (let final self::test2::N1 #t80 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-      #t78.{core::Map::[]=}{Invariant}(#t79.{core::MapEntry::key}{self::test2::N1}, #t79.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
+    final core::Map<self::test2::N1, self::test2::N1>? #t79 = let final self::test2::N1 #t80 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t79 == null))
+      #t78.{core::Map::addAll}{Invariant}(#t79{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
     #t78.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t82 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
   } =>#t78;
-  core::Map<self::test2::N1, self::test2::N1> m2 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t83 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t84 = let final self::test2::N1 #t85 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t84 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t86 in #t84{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t83.{core::Map::[]=}{Invariant}(#t86.{core::MapEntry::key}{self::test2::N1}, #t86.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t83.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t83;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
   var m3 = {...n2, n1: n1};
-               ^": null, let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t90 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final self::test2::N1 #t83 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t84 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<self::test2::N1, self::test2::N1> m4 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t92 = n2;
-    if(!(#t92 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t93 in #t92{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t91.{core::Map::[]=}{Invariant}(#t93.{core::MapEntry::key}{self::test2::N1}, #t93.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t91;
+    final core::Map<self::test2::N1, self::test2::N1> #t85 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t86 = n2;
+    if(!(#t86 == null))
+      #t85.{core::Map::addAll}{Invariant}(#t86{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t85.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t85;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
   var m5 = {...n3, n1: n1};
-               ^": null, let final self::test2::N1 #t96 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t97 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t90 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<self::test2::N1, self::test2::N1> m6 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t98 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t99 = n3;
-    if(!(#t99 == null))
-      for (final has-declared-initializer core::MapEntry<self::test2::N1, self::test2::N1> #t100 in #t99{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>})
-        #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{self::test2::N1}, #t100.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-    #t98.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t102 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t98;
+    final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t92 = n3;
+    if(!(#t92 == null))
+      #t91.{core::Map::addAll}{Invariant}(#t92{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t93 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t91;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
index 20109c7..0512d64 100644
--- a/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue42758.dart.weak.transformed.expect
@@ -147,178 +147,134 @@
     #t24.{core::Set::add}{Invariant}(let final Never #t26 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never) → core::bool};
   } =>#t24;
   core::Map<Never, Never> m1 = block {
-    final core::Map<Never, Never> #t27 = <Never, Never>{};
-    {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = (let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t29 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t27.{core::Map::[]=}{Invariant}(#t29.{core::MapEntry::key}{Never}, #t29.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
-    #t27.{core::Map::[]=}{Invariant}(let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t31 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+    final core::Map<Never, Never> #t27 = col::LinkedHashMap::of<Never, Never>(let final Never #t28 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t27.{core::Map::[]=}{Invariant}(let final Never #t29 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t30 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
   } =>#t27;
   core::Map<Never, Never> m2 = block {
-    final core::Map<Never, Never> #t32 = <Never, Never>{};
-    final core::Map<Never, Never>? #t33 = let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t33 == null)) {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t33{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t35 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t32.{core::Map::[]=}{Invariant}(#t35.{core::MapEntry::key}{Never}, #t35.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
-    #t32.{core::Map::[]=}{Invariant}(let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t32;
+    final core::Map<Never, Never> #t31 = <Never, Never>{};
+    final core::Map<Never, Never>? #t32 = let final Never #t33 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t31.{core::Map::[]=}{Invariant}(let final Never #t34 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t35 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t31;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:20:16: Error: Can't spread a value with static type 'Never?'.
   var m3 = {...n2, n1: n1};
-               ^": null, let final Never #t38 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t39 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final Never #t36 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t37 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<Never, Never> m4 = block {
-    final core::Map<Never, Never> #t40 = <Never, Never>{};
-    final core::Map<Never, Never>? #t41 = n2;
-    if(!(#t41 == null)) {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t41{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t42 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t40.{core::Map::[]=}{Invariant}(#t42.{core::MapEntry::key}{Never}, #t42.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
-    #t40.{core::Map::[]=}{Invariant}(let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t44 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t40;
+    final core::Map<Never, Never> #t38 = <Never, Never>{};
+    final core::Map<Never, Never>? #t39 = n2;
+    if(!(#t39 == null))
+      #t38.{core::Map::addAll}{Invariant}(#t39{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t38.{core::Map::[]=}{Invariant}(let final Never #t40 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t41 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t38;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:22:16: Error: Can't spread a value with static type 'Null'.
   var m5 = {...n3, n1: n1};
-               ^": null, let final Never #t45 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t46 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final Never #t42 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final Never #t43 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<Never, Never> m6 = block {
-    final core::Map<Never, Never> #t47 = <Never, Never>{};
-    final core::Map<Never, Never>? #t48 = n3;
-    if(!(#t48 == null)) {
-      core::Iterator<core::MapEntry<Never, Never>> :sync-for-iterator = #t48{core::Map<Never, Never>}.{core::Map::entries}{core::Iterable<core::MapEntry<Never, Never>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<Never, Never>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<Never, Never> #t49 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<Never, Never>};
-        #t47.{core::Map::[]=}{Invariant}(#t49.{core::MapEntry::key}{Never}, #t49.{core::MapEntry::value}{Never}){(Never, Never) → void};
-      }
-    }
-    #t47.{core::Map::[]=}{Invariant}(let final Never #t50 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t51 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
-  } =>#t47;
+    final core::Map<Never, Never> #t44 = <Never, Never>{};
+    final core::Map<Never, Never>? #t45 = n3;
+    if(!(#t45 == null))
+      #t44.{core::Map::addAll}{Invariant}(#t45{core::Map<Never, Never>}){(core::Map<Never, Never>) → void};
+    #t44.{core::Map::[]=}{Invariant}(let final Never #t46 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final Never #t47 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(Never, Never) → void};
+  } =>#t44;
 }
 static method test2<N1 extends Never, N2 extends Never?, N3 extends Null>(self::test2::N1 n1, self::test2::N2% n2, self::test2::N3% n3) → dynamic {
   core::List<Never> l1 = block {
-    final core::List<Never> #t52 = core::List::of<Never>(let final self::test2::N1 #t53 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
-  } =>#t52;
+    final core::List<Never> #t48 = core::List::of<Never>(let final self::test2::N1 #t49 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+  } =>#t48;
   core::List<Never> l2 = block {
-    final core::List<Never> #t54 = core::_GrowableList::•<Never>(0);
-    final core::Iterable<Never>? #t55 = let final self::test2::N1 #t56 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t55 == null))
-      #t54.{core::List::addAll}{Invariant}(#t55{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t54;
+    final core::List<Never> #t50 = core::_GrowableList::•<Never>(0);
+    final core::Iterable<Never>? #t51 = let final self::test2::N1 #t52 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t51 == null))
+      #t50.{core::List::addAll}{Invariant}(#t51{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t50;
   core::List<dynamic> l3 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:30:16: Error: Can't spread a value with static type 'N2'.
   var l3 = [...n2];
                ^");
   core::List<Never> l4 = block {
-    final core::List<Never> #t57 = core::_GrowableList::•<Never>(0);
-    final core::Iterable<Never>? #t58 = n2;
-    if(!(#t58 == null))
-      #t57.{core::List::addAll}{Invariant}(#t58{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t57;
+    final core::List<Never> #t53 = core::_GrowableList::•<Never>(0);
+    final core::Iterable<Never>? #t54 = n2;
+    if(!(#t54 == null))
+      #t53.{core::List::addAll}{Invariant}(#t54{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t53;
   core::List<dynamic> l5 = core::_GrowableList::_literal1<dynamic>(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:32:16: Error: Can't spread a value with static type 'N3'.
   var l5 = [...n3];
                ^");
   core::List<Never> l6 = block {
-    final core::List<Never> #t59 = core::_GrowableList::•<Never>(0);
-    final core::Iterable<Never>? #t60 = n3;
-    if(!(#t60 == null))
-      #t59.{core::List::addAll}{Invariant}(#t60{core::Iterable<Never>}){(core::Iterable<Never>) → void};
-  } =>#t59;
+    final core::List<Never> #t55 = core::_GrowableList::•<Never>(0);
+    final core::Iterable<Never>? #t56 = n3;
+    if(!(#t56 == null))
+      #t55.{core::List::addAll}{Invariant}(#t56{core::Iterable<Never>}){(core::Iterable<Never>) → void};
+  } =>#t55;
   core::Set<self::test2::N1> s1 = block {
-    final core::Set<self::test2::N1> #t61 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
-    #t61.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t61;
+    final core::Set<self::test2::N1> #t57 = col::LinkedHashSet::of<self::test2::N1>(let final self::test2::N1 #t58 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t57.{core::Set::add}{Invariant}(let final self::test2::N1 #t59 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t57;
   core::Set<self::test2::N1> s2 = block {
-    final core::Set<self::test2::N1> #t64 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t65 = let final self::test2::N1 #t66 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t65 == null))
-      #t64.{core::Set::addAll}{Invariant}(#t65{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t67 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t64;
+    final core::Set<self::test2::N1> #t60 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t61 = let final self::test2::N1 #t62 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t61 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t61{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t60.{core::Set::add}{Invariant}(let final self::test2::N1 #t63 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t60;
   core::Set<dynamic> s3 = block {
-    final core::Set<dynamic> #t68 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t68.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
+    final core::Set<dynamic> #t64 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t64.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:36:16: Error: Can't spread a value with static type 'N2'.
   var s3 = {...n2, n1};
                ^"){(dynamic) → core::bool};
-    #t68.{core::Set::add}{Invariant}(let final self::test2::N1 #t69 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
-  } =>#t68;
+    #t64.{core::Set::add}{Invariant}(let final self::test2::N1 #t65 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
+  } =>#t64;
   core::Set<self::test2::N1> s4 = block {
-    final core::Set<self::test2::N1> #t70 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t71 = n2;
-    if(!(#t71 == null))
-      #t70.{core::Set::addAll}{Invariant}(#t71{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t70.{core::Set::add}{Invariant}(let final self::test2::N1 #t72 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t70;
+    final core::Set<self::test2::N1> #t66 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t67 = n2;
+    if(!(#t67 == null))
+      #t66.{core::Set::addAll}{Invariant}(#t67{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t66.{core::Set::add}{Invariant}(let final self::test2::N1 #t68 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t66;
   core::Set<dynamic> s5 = block {
-    final core::Set<dynamic> #t73 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t73.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
+    final core::Set<dynamic> #t69 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t69.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:38:16: Error: Can't spread a value with static type 'N3'.
   var s5 = {...n3, n1};
                ^"){(dynamic) → core::bool};
-    #t73.{core::Set::add}{Invariant}(let final self::test2::N1 #t74 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
-  } =>#t73;
+    #t69.{core::Set::add}{Invariant}(let final self::test2::N1 #t70 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(dynamic) → core::bool};
+  } =>#t69;
   core::Set<self::test2::N1> s6 = block {
-    final core::Set<self::test2::N1> #t75 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
-    final core::Iterable<self::test2::N1>? #t76 = n3;
-    if(!(#t76 == null))
-      #t75.{core::Set::addAll}{Invariant}(#t76{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
-    #t75.{core::Set::add}{Invariant}(let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
-  } =>#t75;
+    final core::Set<self::test2::N1> #t71 = new col::_CompactLinkedHashSet::•<self::test2::N1>();
+    final core::Iterable<self::test2::N1>? #t72 = n3;
+    if(!(#t72 == null))
+      #t71.{core::Set::addAll}{Invariant}(#t72{core::Iterable<self::test2::N1>}){(core::Iterable<self::test2::N1>) → void};
+    #t71.{core::Set::add}{Invariant}(let final self::test2::N1 #t73 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1) → core::bool};
+  } =>#t71;
   core::Map<self::test2::N1, self::test2::N1> m1 = block {
+    final core::Map<self::test2::N1, self::test2::N1> #t74 = col::LinkedHashMap::of<self::test2::N1, self::test2::N1>(let final self::test2::N1 #t75 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."));
+    #t74.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t76 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t77 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t74;
+  core::Map<self::test2::N1, self::test2::N1> m2 = block {
     final core::Map<self::test2::N1, self::test2::N1> #t78 = <self::test2::N1, self::test2::N1>{};
-    {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = (let final self::test2::N1 #t79 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")).{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t80 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t78.{core::Map::[]=}{Invariant}(#t80.{core::MapEntry::key}{self::test2::N1}, #t80.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
+    final core::Map<self::test2::N1, self::test2::N1>? #t79 = let final self::test2::N1 #t80 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
+    if(!(#t79 == null))
+      #t78.{core::Map::addAll}{Invariant}(#t79{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
     #t78.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t81 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t82 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
   } =>#t78;
-  core::Map<self::test2::N1, self::test2::N1> m2 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t83 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t84 = let final self::test2::N1 #t85 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.");
-    if(!(#t84 == null)) {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t84{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t86 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t83.{core::Map::[]=}{Invariant}(#t86.{core::MapEntry::key}{self::test2::N1}, #t86.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
-    #t83.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t83;
   core::Map<dynamic, dynamic> m3 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:42:16: Error: Can't spread a value with static type 'N2'.
   var m3 = {...n2, n1: n1};
-               ^": null, let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t90 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final self::test2::N1 #t83 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t84 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<self::test2::N1, self::test2::N1> m4 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t92 = n2;
-    if(!(#t92 == null)) {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t92{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t93 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t91.{core::Map::[]=}{Invariant}(#t93.{core::MapEntry::key}{self::test2::N1}, #t93.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
-    #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t95 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t91;
+    final core::Map<self::test2::N1, self::test2::N1> #t85 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t86 = n2;
+    if(!(#t86 == null))
+      #t85.{core::Map::addAll}{Invariant}(#t86{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t85.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t87 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t88 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t85;
   core::Map<dynamic, dynamic> m5 = <dynamic, dynamic>{invalid-expression "pkg/front_end/testcases/nnbd/issue42758.dart:44:16: Error: Can't spread a value with static type 'N3'.
   var m5 = {...n3, n1: n1};
-               ^": null, let final self::test2::N1 #t96 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t97 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
+               ^": null, let final self::test2::N1 #t89 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."): let final self::test2::N1 #t90 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")};
   core::Map<self::test2::N1, self::test2::N1> m6 = block {
-    final core::Map<self::test2::N1, self::test2::N1> #t98 = <self::test2::N1, self::test2::N1>{};
-    final core::Map<self::test2::N1, self::test2::N1>? #t99 = n3;
-    if(!(#t99 == null)) {
-      core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>> :sync-for-iterator = #t99{core::Map<self::test2::N1, self::test2::N1>}.{core::Map::entries}{core::Iterable<core::MapEntry<self::test2::N1, self::test2::N1>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<self::test2::N1, self::test2::N1>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<self::test2::N1, self::test2::N1> #t100 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<self::test2::N1, self::test2::N1>};
-        #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{self::test2::N1}, #t100.{core::MapEntry::value}{self::test2::N1}){(self::test2::N1, self::test2::N1) → void};
-      }
-    }
-    #t98.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t101 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t102 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
-  } =>#t98;
+    final core::Map<self::test2::N1, self::test2::N1> #t91 = <self::test2::N1, self::test2::N1>{};
+    final core::Map<self::test2::N1, self::test2::N1>? #t92 = n3;
+    if(!(#t92 == null))
+      #t91.{core::Map::addAll}{Invariant}(#t92{core::Map<self::test2::N1, self::test2::N1>}){(core::Map<self::test2::N1, self::test2::N1>) → void};
+    #t91.{core::Map::[]=}{Invariant}(let final self::test2::N1 #t93 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`."), let final self::test2::N1 #t94 = n1 in throw new _in::ReachabilityError::•("`null` encountered as the result from expression with type `Never`.")){(self::test2::N1, self::test2::N1) → void};
+  } =>#t91;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
index 903090e..fd15d9b 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.expect
@@ -62,81 +62,77 @@
   if (i > 0) ...nullableMap, // error
                 ^", null){(dynamic, dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t3 in self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}{dynamic}, #t3.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::nullableMap!){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Set<dynamic> set1 = block {
-  final core::Set<dynamic> #t4 = col::LinkedHashSet::•<dynamic>();
-  #t4.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+  final core::Set<dynamic> #t2 = col::LinkedHashSet::•<dynamic>();
+  #t2.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t2.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t2.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t4;
+    #t2.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t2;
 static field core::List<dynamic> list1 = block {
-  final core::List<dynamic> #t5 = <dynamic>[];
+  final core::List<dynamic> #t3 = <dynamic>[];
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t3.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t3.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t5;
+    #t3.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t3;
 static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
   core::Map<dynamic, dynamic> map2 = block {
-    final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t4 = <dynamic, dynamic>{};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     if (i > 0) ...x, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t7 in z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-        #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+      #t4.{core::Map::addAll}{Invariant}(z){(core::Map<dynamic, dynamic>) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t8 in y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-        #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}{dynamic}, #t8.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-  } =>#t6;
+      #t4.{core::Map::addAll}{Invariant}(y!){(core::Map<dynamic, dynamic>) → void};
+  } =>#t4;
 }
 static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
   core::Set<dynamic> set2 = block {
-    final core::Set<dynamic> #t9 = col::LinkedHashSet::•<dynamic>();
-    #t9.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+    final core::Set<dynamic> #t5 = col::LinkedHashSet::•<dynamic>();
+    #t5.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t9;
+      #t5.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t5;
   core::List<dynamic> list2 = block {
-    final core::List<dynamic> #t10 = <dynamic>[];
+    final core::List<dynamic> #t6 = <dynamic>[];
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t10;
+      #t6.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t6;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
index ed94348..a6b1a18 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.strong.transformed.expect
@@ -61,98 +61,78 @@
     #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableMap, // error
                 ^", null){(dynamic, dynamic) → void};
-  if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    }
-  }
-  if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}{dynamic}, #t3.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    }
-  }
+  if(self::i.{core::num::>}(0){(core::num) → core::bool})
+    #t1.{core::Map::addAll}{Invariant}(self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+  if(self::i.{core::num::>}(0){(core::num) → core::bool})
+    #t1.{core::Map::addAll}{Invariant}(self::nullableMap!){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Set<dynamic> set1 = block {
-  final core::Set<dynamic> #t4 = new col::_CompactLinkedHashSet::•<dynamic>();
-  #t4.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+  final core::Set<dynamic> #t2 = new col::_CompactLinkedHashSet::•<dynamic>();
+  #t2.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t2.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t2.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t4;
+    #t2.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t2;
 static field core::List<dynamic> list1 = block {
-  final core::List<dynamic> #t5 = core::_GrowableList::•<dynamic>(0);
+  final core::List<dynamic> #t3 = core::_GrowableList::•<dynamic>(0);
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t3.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t3.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t5;
+    #t3.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t3;
 static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
   core::Map<dynamic, dynamic> map2 = block {
-    final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t4 = <dynamic, dynamic>{};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     if (i > 0) ...x, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^", null){(dynamic, dynamic) → void};
-    if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-      core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-      }
-    }
-    if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-      core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}{dynamic}, #t8.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-      }
-    }
-  } =>#t6;
+    if(self::i.{core::num::>}(0){(core::num) → core::bool})
+      #t4.{core::Map::addAll}{Invariant}(z){(core::Map<dynamic, dynamic>) → void};
+    if(self::i.{core::num::>}(0){(core::num) → core::bool})
+      #t4.{core::Map::addAll}{Invariant}(y!){(core::Map<dynamic, dynamic>) → void};
+  } =>#t4;
 }
 static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
   core::Set<dynamic> set2 = block {
-    final core::Set<dynamic> #t9 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t9.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+    final core::Set<dynamic> #t5 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t5.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t9;
+      #t5.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t5;
   core::List<dynamic> list2 = block {
-    final core::List<dynamic> #t10 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t6 = core::_GrowableList::•<dynamic>(0);
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t10;
+      #t6.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t6;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
index 903090e..fd15d9b 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.expect
@@ -62,81 +62,77 @@
   if (i > 0) ...nullableMap, // error
                 ^", null){(dynamic, dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t3 in self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}{dynamic}, #t3.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::nullableMap!){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Set<dynamic> set1 = block {
-  final core::Set<dynamic> #t4 = col::LinkedHashSet::•<dynamic>();
-  #t4.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+  final core::Set<dynamic> #t2 = col::LinkedHashSet::•<dynamic>();
+  #t2.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t2.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t2.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t4;
+    #t2.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t2;
 static field core::List<dynamic> list1 = block {
-  final core::List<dynamic> #t5 = <dynamic>[];
+  final core::List<dynamic> #t3 = <dynamic>[];
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t3.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t3.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t5;
+    #t3.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t3;
 static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
   core::Map<dynamic, dynamic> map2 = block {
-    final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t4 = <dynamic, dynamic>{};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     if (i > 0) ...x, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t7 in z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-        #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+      #t4.{core::Map::addAll}{Invariant}(z){(core::Map<dynamic, dynamic>) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t8 in y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-        #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}{dynamic}, #t8.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-  } =>#t6;
+      #t4.{core::Map::addAll}{Invariant}(y!){(core::Map<dynamic, dynamic>) → void};
+  } =>#t4;
 }
 static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
   core::Set<dynamic> set2 = block {
-    final core::Set<dynamic> #t9 = col::LinkedHashSet::•<dynamic>();
-    #t9.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+    final core::Set<dynamic> #t5 = col::LinkedHashSet::•<dynamic>();
+    #t5.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t9;
+      #t5.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t5;
   core::List<dynamic> list2 = block {
-    final core::List<dynamic> #t10 = <dynamic>[];
+    final core::List<dynamic> #t6 = <dynamic>[];
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t10;
+      #t6.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t6;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.modular.expect
index 903090e..fd15d9b 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.modular.expect
@@ -62,81 +62,77 @@
   if (i > 0) ...nullableMap, // error
                 ^", null){(dynamic, dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t3 in self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}{dynamic}, #t3.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::nullableMap!){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Set<dynamic> set1 = block {
-  final core::Set<dynamic> #t4 = col::LinkedHashSet::•<dynamic>();
-  #t4.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+  final core::Set<dynamic> #t2 = col::LinkedHashSet::•<dynamic>();
+  #t2.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t2.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t2.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t4;
+    #t2.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t2;
 static field core::List<dynamic> list1 = block {
-  final core::List<dynamic> #t5 = <dynamic>[];
+  final core::List<dynamic> #t3 = <dynamic>[];
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t3.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t3.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t5;
+    #t3.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t3;
 static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
   core::Map<dynamic, dynamic> map2 = block {
-    final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t4 = <dynamic, dynamic>{};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     if (i > 0) ...x, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t7 in z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-        #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+      #t4.{core::Map::addAll}{Invariant}(z){(core::Map<dynamic, dynamic>) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t8 in y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-        #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}{dynamic}, #t8.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-  } =>#t6;
+      #t4.{core::Map::addAll}{Invariant}(y!){(core::Map<dynamic, dynamic>) → void};
+  } =>#t4;
 }
 static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
   core::Set<dynamic> set2 = block {
-    final core::Set<dynamic> #t9 = col::LinkedHashSet::•<dynamic>();
-    #t9.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+    final core::Set<dynamic> #t5 = col::LinkedHashSet::•<dynamic>();
+    #t5.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t9;
+      #t5.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t5;
   core::List<dynamic> list2 = block {
-    final core::List<dynamic> #t10 = <dynamic>[];
+    final core::List<dynamic> #t6 = <dynamic>[];
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t10;
+      #t6.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t6;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
index ed94348..a6b1a18 100644
--- a/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43256.dart.weak.transformed.expect
@@ -61,98 +61,78 @@
     #t1.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:16:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableMap, // error
                 ^", null){(dynamic, dynamic) → void};
-  if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = (self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    }
-  }
-  if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::nullableMap!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t3 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t1.{core::Map::[]=}{Invariant}(#t3.{core::MapEntry::key}{dynamic}, #t3.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    }
-  }
+  if(self::i.{core::num::>}(0){(core::num) → core::bool})
+    #t1.{core::Map::addAll}{Invariant}(self::dynamicMap as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+  if(self::i.{core::num::>}(0){(core::num) → core::bool})
+    #t1.{core::Map::addAll}{Invariant}(self::nullableMap!){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Set<dynamic> set1 = block {
-  final core::Set<dynamic> #t4 = new col::_CompactLinkedHashSet::•<dynamic>();
-  #t4.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+  final core::Set<dynamic> #t2 = new col::_CompactLinkedHashSet::•<dynamic>();
+  #t2.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t2.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:23:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → core::bool};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t2.{core::Set::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t4.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t4;
+    #t2.{core::Set::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t2;
 static field core::List<dynamic> list1 = block {
-  final core::List<dynamic> #t5 = core::_GrowableList::•<dynamic>(0);
+  final core::List<dynamic> #t3 = core::_GrowableList::•<dynamic>(0);
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    #t3.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:29:17: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
   if (i > 0) ...nullableList, // error
                 ^"){(dynamic) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t3.{core::List::addAll}{Invariant}(self::dynamicList as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
   if(self::i.{core::num::>}(0){(core::num) → core::bool})
-    #t5.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
-} =>#t5;
+    #t3.{core::List::addAll}{Invariant}(self::nullableList!){(core::Iterable<dynamic>) → void};
+} =>#t3;
 static method testMap<X extends dynamic, Y extends core::Map<core::int, core::String>?, Z extends core::Map<core::int, core::String>>(self::testMap::X% x, self::testMap::Y% y, self::testMap::Z z) → dynamic {
   core::Map<dynamic, dynamic> map2 = block {
-    final core::Map<dynamic, dynamic> #t6 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic> #t4 = <dynamic, dynamic>{};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:37:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     if (i > 0) ...x, // error
                   ^", null){(dynamic, dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t6.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t4.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:38:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^", null){(dynamic, dynamic) → void};
-    if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-      core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = z.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t6.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-      }
-    }
-    if(self::i.{core::num::>}(0){(core::num) → core::bool}) {
-      core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = y!.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-        #t6.{core::Map::[]=}{Invariant}(#t8.{core::MapEntry::key}{dynamic}, #t8.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-      }
-    }
-  } =>#t6;
+    if(self::i.{core::num::>}(0){(core::num) → core::bool})
+      #t4.{core::Map::addAll}{Invariant}(z){(core::Map<dynamic, dynamic>) → void};
+    if(self::i.{core::num::>}(0){(core::num) → core::bool})
+      #t4.{core::Map::addAll}{Invariant}(y!){(core::Map<dynamic, dynamic>) → void};
+  } =>#t4;
 }
 static method testIterables<X extends dynamic, Y extends core::List<core::int>?, Z extends core::List<core::int>>(self::testIterables::X% x, self::testIterables::Y% y, self::testIterables::Z z) → dynamic {
   core::Set<dynamic> set2 = block {
-    final core::Set<dynamic> #t9 = new col::_CompactLinkedHashSet::•<dynamic>();
-    #t9.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
+    final core::Set<dynamic> #t5 = new col::_CompactLinkedHashSet::•<dynamic>();
+    #t5.{core::Set::add}{Invariant}(0){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:48:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t5.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:49:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → core::bool};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t9.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t9;
+      #t5.{core::Set::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t5;
   core::List<dynamic> list2 = block {
-    final core::List<dynamic> #t10 = core::_GrowableList::•<dynamic>(0);
+    final core::List<dynamic> #t6 = core::_GrowableList::•<dynamic>(0);
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:53:19: Error: Unexpected type 'X' of a spread.  Expected 'dynamic' or an Iterable.
     if (i > 0) ...x, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t6.{core::List::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43256.dart:54:19: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     if (i > 0) ...y, // error
                   ^"){(dynamic) → void};
     if(self::i.{core::num::>}(0){(core::num) → core::bool})
-      #t10.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
-  } =>#t10;
+      #t6.{core::List::addAll}{Invariant}(z){(core::Iterable<dynamic>) → void};
+  } =>#t6;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
index 6f1a9c7..829181d 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.expect
@@ -170,210 +170,224 @@
 
 static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t2 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t1 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...a}, // Error.
-        ^") {
-      final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
-      #t1.{core::Set::add}{Invariant}(#t3){(core::int) → core::bool};
-    }
+        ^");
   } =>#t1, block {
-    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t5 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t2 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...b}, // Error.
-        ^") {
-      final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
-      #t4.{core::Set::add}{Invariant}(#t6){(core::int) → core::bool};
-    }
-  } =>#t4, block {
-    final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t8 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t2, block {
+    final core::Set<core::int> #t3 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...c}, // Error.
-        ^") {
-      final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
-      #t7.{core::Set::add}{Invariant}(#t9){(core::int) → core::bool};
-    }
-  } =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t3, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...d}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
     <int, int>{...a}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>();
-    #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
     <int>{...d}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t10, block {
+  } =>#t4, block {
+    final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
+    if(condition)
+      for (final has-declared-initializer dynamic #t6 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...a}, // Error.
+                       ^") {
+        final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
+        #t5.{core::Set::add}{Invariant}(#t7){(core::int) → core::bool};
+      }
+  } =>#t5, block {
+    final core::Set<core::int> #t8 = col::LinkedHashSet::•<core::int>();
+    if(condition)
+      for (final has-declared-initializer dynamic #t9 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...b}, // Error.
+                       ^") {
+        final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
+        #t8.{core::Set::add}{Invariant}(#t10){(core::int) → core::bool};
+      }
+  } =>#t8, block {
     final core::Set<core::int> #t11 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t12 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t12 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...c}, // Error.
                        ^") {
         final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
         #t11.{core::Set::add}{Invariant}(#t13){(core::int) → core::bool};
       }
   } =>#t11, block {
-    final core::Set<core::int> #t14 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t14 = <core::int, core::int>{};
     if(condition)
-      for (final has-declared-initializer dynamic #t15 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...b}, // Error.
-                       ^") {
-        final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
-        #t14.{core::Set::add}{Invariant}(#t16){(core::int) → core::bool};
-      }
-  } =>#t14, block {
-    final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
-    if(condition)
-      for (final has-declared-initializer dynamic #t18 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...c}, // Error.
-                       ^") {
-        final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
-        #t17.{core::Set::add}{Invariant}(#t19){(core::int) → core::bool};
-      }
-  } =>#t17, block {
-    final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
-    if(condition)
-      #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t14.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...d}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t20, block {
+  } =>#t14, block {
+    final core::Set<core::int> #t15 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable)
+      for (final has-declared-initializer dynamic #t16 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...a}, // Error.
+                                    ^") {
+        final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+        #t15.{core::Set::add}{Invariant}(#t17){(core::int) → core::bool};
+      }
+  } =>#t15, block {
+    final core::Set<core::int> #t18 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable)
+      for (final has-declared-initializer dynamic #t19 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...b}, // Error.
+                                    ^") {
+        final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+        #t18.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
+      }
+  } =>#t18, block {
     final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t22 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t22 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...c}, // Error.
                                     ^") {
         final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
         #t21.{core::Set::add}{Invariant}(#t23){(core::int) → core::bool};
       }
   } =>#t21, block {
-    final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t24 = <core::int, core::int>{};
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t25 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...b}, // Error.
-                                    ^") {
-        final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
-        #t24.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
-      }
-  } =>#t24, block {
-    final core::Set<core::int> #t27 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t28 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...c}, // Error.
-                                    ^") {
-        final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
-        #t27.{core::Set::add}{Invariant}(#t29){(core::int) → core::bool};
-      }
-  } =>#t27, block {
-    final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
-    for (dynamic e in iterable)
-      #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t24.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...d}, // Error.
                                     ^", null){(core::int, core::int) → void};
-  } =>#t30, block {
+  } =>#t24, block {
+    final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer dynamic #t26 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...a}, // Error.
+                                     ^") {
+        final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+        #t25.{core::Set::add}{Invariant}(#t27){(core::int) → core::bool};
+      }
+  } =>#t25, block {
+    final core::Set<core::int> #t28 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer dynamic #t29 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...b}, // Error.
+                                     ^") {
+        final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+        #t28.{core::Set::add}{Invariant}(#t30){(core::int) → core::bool};
+      }
+  } =>#t28, block {
     final core::Set<core::int> #t31 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...c}, // Error.
                                      ^") {
         final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
         #t31.{core::Set::add}{Invariant}(#t33){(core::int) → core::bool};
       }
   } =>#t31, block {
-    final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t35 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...b}, // Error.
-                                     ^") {
-        final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
-        #t34.{core::Set::add}{Invariant}(#t36){(core::int) → core::bool};
-      }
-  } =>#t34, block {
-    final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t38 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...c}, // Error.
-                                     ^") {
-        final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
-        #t37.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
-      }
-  } =>#t37, block {
-    final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t34.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...d}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t40, block {
-    final core::Set<core::int> #t41 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t42 = a;
+  } =>#t34, block {
+    final core::Set<core::int> #t35 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t36 = a;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t35, block {
+    final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t38 = b;
+    if(!(#t38 == null))
+      #t37.{core::Set::addAll}{Invariant}(#t38{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t37, block {
+    final core::Set<core::int> #t39 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t40 = c;
+    if(!(#t40 == null))
+      #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t39, block {
+    final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t42 = d;
     if(!(#t42 == null))
-      for (final has-declared-initializer dynamic #t43 in #t42{core::Iterable<dynamic>}) {
-        final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
-        #t41.{core::Set::add}{Invariant}(#t44){(core::int) → core::bool};
-      }
+      #t41.{core::Map::addAll}{Invariant}(#t42{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t41, block {
-    final core::Set<core::int> #t45 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t46 = b;
-    if(!(#t46 == null))
-      for (final has-declared-initializer dynamic #t47 in #t46{core::Iterable<dynamic>}) {
-        final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
-        #t45.{core::Set::add}{Invariant}(#t48){(core::int) → core::bool};
-      }
-  } =>#t45, block {
-    final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t50 = c;
-    if(!(#t50 == null))
-      for (final has-declared-initializer dynamic #t51 in #t50{core::Iterable<dynamic>}) {
-        final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
-        #t49.{core::Set::add}{Invariant}(#t52){(core::int) → core::bool};
-      }
-  } =>#t49, block {
-    final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t54 = d;
-    if(!(#t54 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t55 in #t54{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::int}, #t55.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-  } =>#t53, block {
-    final core::Set<core::int> #t56 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t43 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t57 = a;
-      if(!(#t57 == null))
-        for (final has-declared-initializer dynamic #t58 in #t57{core::Iterable<dynamic>}) {
-          final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
-          #t56.{core::Set::add}{Invariant}(#t59){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t44 = a;
+      if(!(#t44 == null))
+        for (final has-declared-initializer dynamic #t45 in #t44{core::Iterable<dynamic>}) {
+          final core::int #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::int;
+          #t43.{core::Set::add}{Invariant}(#t46){(core::int) → core::bool};
         }
     }
-  } =>#t56, block {
-    final core::Set<core::int> #t60 = col::LinkedHashSet::•<core::int>();
+  } =>#t43, block {
+    final core::Set<core::int> #t47 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t61 = b;
-      if(!(#t61 == null))
-        for (final has-declared-initializer dynamic #t62 in #t61{core::Iterable<dynamic>}) {
-          final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
-          #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t48 = b;
+      if(!(#t48 == null))
+        for (final has-declared-initializer dynamic #t49 in #t48{core::Iterable<dynamic>}) {
+          final core::int #t50 = #t49 as{TypeError,ForNonNullableByDefault} core::int;
+          #t47.{core::Set::add}{Invariant}(#t50){(core::int) → core::bool};
         }
     }
-  } =>#t60, block {
-    final core::Set<core::int> #t64 = col::LinkedHashSet::•<core::int>();
+  } =>#t47, block {
+    final core::Set<core::int> #t51 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t65 = c;
-      if(!(#t65 == null))
-        for (final has-declared-initializer dynamic #t66 in #t65{core::Iterable<dynamic>}) {
-          final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-          #t64.{core::Set::add}{Invariant}(#t67){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t52 = c;
+      if(!(#t52 == null))
+        for (final has-declared-initializer dynamic #t53 in #t52{core::Iterable<dynamic>}) {
+          final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+          #t51.{core::Set::add}{Invariant}(#t54){(core::int) → core::bool};
         }
     }
-  } =>#t64, block {
-    final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
+  } =>#t51, block {
+    final core::Map<core::int, core::int> #t55 = <core::int, core::int>{};
     if(condition) {
-      final core::Map<core::int, core::int>? #t69 = d;
-      if(!(#t69 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t70 in #t69{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}{core::int}, #t70.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      final core::Map<core::int, core::int>? #t56 = d;
+      if(!(#t56 == null))
+        #t55.{core::Map::addAll}{Invariant}(#t56{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t68, block {
-    final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
+  } =>#t55, block {
+    final core::Set<core::int> #t57 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t58 = a;
+      if(!(#t58 == null))
+        for (final has-declared-initializer dynamic #t59 in #t58{core::Iterable<dynamic>}) {
+          final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+          #t57.{core::Set::add}{Invariant}(#t60){(core::int) → core::bool};
+        }
+    }
+  } =>#t57, block {
+    final core::Set<core::int> #t61 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t62 = b;
+      if(!(#t62 == null))
+        for (final has-declared-initializer dynamic #t63 in #t62{core::Iterable<dynamic>}) {
+          final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+          #t61.{core::Set::add}{Invariant}(#t64){(core::int) → core::bool};
+        }
+    }
+  } =>#t61, block {
+    final core::Set<core::int> #t65 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t66 = c;
+      if(!(#t66 == null))
+        for (final has-declared-initializer dynamic #t67 in #t66{core::Iterable<dynamic>}) {
+          final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+          #t65.{core::Set::add}{Invariant}(#t68){(core::int) → core::bool};
+        }
+    }
+  } =>#t65, block {
+    final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+    for (dynamic e in iterable) {
+      final core::Map<core::int, core::int>? #t70 = d;
+      if(!(#t70 == null))
+        #t69.{core::Map::addAll}{Invariant}(#t70{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t69, block {
+    final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t72 = a;
       if(!(#t72 == null))
         for (final has-declared-initializer dynamic #t73 in #t72{core::Iterable<dynamic>}) {
@@ -383,7 +397,7 @@
     }
   } =>#t71, block {
     final core::Set<core::int> #t75 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t76 = b;
       if(!(#t76 == null))
         for (final has-declared-initializer dynamic #t77 in #t76{core::Iterable<dynamic>}) {
@@ -393,7 +407,7 @@
     }
   } =>#t75, block {
     final core::Set<core::int> #t79 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t80 = c;
       if(!(#t80 == null))
         for (final has-declared-initializer dynamic #t81 in #t80{core::Iterable<dynamic>}) {
@@ -403,329 +417,265 @@
     }
   } =>#t79, block {
     final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Map<core::int, core::int>? #t84 = d;
       if(!(#t84 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t85 in #t84{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}{core::int}, #t85.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+        #t83.{core::Map::addAll}{Invariant}(#t84{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t83, block {
-    final core::Set<core::int> #t86 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t87 = a;
-      if(!(#t87 == null))
-        for (final has-declared-initializer dynamic #t88 in #t87{core::Iterable<dynamic>}) {
-          final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
-          #t86.{core::Set::add}{Invariant}(#t89){(core::int) → core::bool};
-        }
-    }
-  } =>#t86, block {
-    final core::Set<core::int> #t90 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t91 = b;
-      if(!(#t91 == null))
-        for (final has-declared-initializer dynamic #t92 in #t91{core::Iterable<dynamic>}) {
-          final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
-          #t90.{core::Set::add}{Invariant}(#t93){(core::int) → core::bool};
-        }
-    }
-  } =>#t90, block {
-    final core::Set<core::int> #t94 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t95 = c;
-      if(!(#t95 == null))
-        for (final has-declared-initializer dynamic #t96 in #t95{core::Iterable<dynamic>}) {
-          final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
-          #t94.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
-        }
-    }
-  } =>#t94, block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t99 = d;
-      if(!(#t99 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t100 in #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{core::int}, #t100.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t98];
+  } =>#t83];
 }
 static method bar<X extends core::List<core::int>?, Y extends core::Set<core::int>?, Z extends core::Iterable<core::int>?, W extends core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t101 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t102 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t85 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...x}, // Error.
-        ^") {
-      final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
-      #t101.{core::Set::add}{Invariant}(#t103){(core::int) → core::bool};
-    }
-  } =>#t101, block {
-    final core::Set<core::int> #t104 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t105 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t85, block {
+    final core::Set<core::int> #t86 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...y}, // Error.
-        ^") {
-      final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
-      #t104.{core::Set::add}{Invariant}(#t106){(core::int) → core::bool};
-    }
-  } =>#t104, block {
-    final core::Set<core::int> #t107 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t108 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t86, block {
+    final core::Set<core::int> #t87 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...z}, // Error.
-        ^") {
-      final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
-      #t107.{core::Set::add}{Invariant}(#t109){(core::int) → core::bool};
-    }
-  } =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t87, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...w}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     <int, int>{...x}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t110 = col::LinkedHashSet::•<core::int>();
-    #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t88 = col::LinkedHashSet::•<core::int>();
+    #t88.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
     <int>{...w}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t110, block {
-    final core::Set<core::int> #t111 = col::LinkedHashSet::•<core::int>();
+  } =>#t88, block {
+    final core::Set<core::int> #t89 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t112 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t90 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...x}, // Error.
                        ^") {
-        final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
-        #t111.{core::Set::add}{Invariant}(#t113){(core::int) → core::bool};
+        final core::int #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int;
+        #t89.{core::Set::add}{Invariant}(#t91){(core::int) → core::bool};
       }
-  } =>#t111, block {
-    final core::Set<core::int> #t114 = col::LinkedHashSet::•<core::int>();
+  } =>#t89, block {
+    final core::Set<core::int> #t92 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t115 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t93 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...y}, // Error.
                        ^") {
-        final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
-        #t114.{core::Set::add}{Invariant}(#t116){(core::int) → core::bool};
+        final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+        #t92.{core::Set::add}{Invariant}(#t94){(core::int) → core::bool};
       }
-  } =>#t114, block {
-    final core::Set<core::int> #t117 = col::LinkedHashSet::•<core::int>();
+  } =>#t92, block {
+    final core::Set<core::int> #t95 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t118 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t96 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...z}, // Error.
                        ^") {
-        final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
-        #t117.{core::Set::add}{Invariant}(#t119){(core::int) → core::bool};
+        final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
+        #t95.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
       }
-  } =>#t117, block {
-    final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
+  } =>#t95, block {
+    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
     if(condition)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t98.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...w}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t120, block {
-    final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
+  } =>#t98, block {
+    final core::Set<core::int> #t99 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t122 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t100 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...x}, // Error.
                                     ^") {
-        final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
-        #t121.{core::Set::add}{Invariant}(#t123){(core::int) → core::bool};
+        final core::int #t101 = #t100 as{TypeError,ForNonNullableByDefault} core::int;
+        #t99.{core::Set::add}{Invariant}(#t101){(core::int) → core::bool};
       }
-  } =>#t121, block {
-    final core::Set<core::int> #t124 = col::LinkedHashSet::•<core::int>();
+  } =>#t99, block {
+    final core::Set<core::int> #t102 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t125 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t103 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...y}, // Error.
                                     ^") {
-        final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
-        #t124.{core::Set::add}{Invariant}(#t126){(core::int) → core::bool};
+        final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+        #t102.{core::Set::add}{Invariant}(#t104){(core::int) → core::bool};
       }
-  } =>#t124, block {
-    final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
+  } =>#t102, block {
+    final core::Set<core::int> #t105 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t128 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t106 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...z}, // Error.
                                     ^") {
-        final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
-        #t127.{core::Set::add}{Invariant}(#t129){(core::int) → core::bool};
+        final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+        #t105.{core::Set::add}{Invariant}(#t107){(core::int) → core::bool};
       }
-  } =>#t127, block {
-    final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
+  } =>#t105, block {
+    final core::Map<core::int, core::int> #t108 = <core::int, core::int>{};
     for (dynamic e in iterable)
-      #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t108.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...w}, // Error.
                                     ^", null){(core::int, core::int) → void};
-  } =>#t130, block {
-    final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
+  } =>#t108, block {
+    final core::Set<core::int> #t109 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t132 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t110 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...x}, // Error.
                                      ^") {
-        final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
-        #t131.{core::Set::add}{Invariant}(#t133){(core::int) → core::bool};
+        final core::int #t111 = #t110 as{TypeError,ForNonNullableByDefault} core::int;
+        #t109.{core::Set::add}{Invariant}(#t111){(core::int) → core::bool};
       }
-  } =>#t131, block {
-    final core::Set<core::int> #t134 = col::LinkedHashSet::•<core::int>();
+  } =>#t109, block {
+    final core::Set<core::int> #t112 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t135 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t113 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...y}, // Error.
                                      ^") {
-        final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
-        #t134.{core::Set::add}{Invariant}(#t136){(core::int) → core::bool};
+        final core::int #t114 = #t113 as{TypeError,ForNonNullableByDefault} core::int;
+        #t112.{core::Set::add}{Invariant}(#t114){(core::int) → core::bool};
       }
-  } =>#t134, block {
-    final core::Set<core::int> #t137 = col::LinkedHashSet::•<core::int>();
+  } =>#t112, block {
+    final core::Set<core::int> #t115 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t138 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t116 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...z}, // Error.
                                      ^") {
-        final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
-        #t137.{core::Set::add}{Invariant}(#t139){(core::int) → core::bool};
+        final core::int #t117 = #t116 as{TypeError,ForNonNullableByDefault} core::int;
+        #t115.{core::Set::add}{Invariant}(#t117){(core::int) → core::bool};
       }
-  } =>#t137, block {
-    final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
+  } =>#t115, block {
+    final core::Map<core::int, core::int> #t118 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t118.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...w}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t140, block {
+  } =>#t118, block {
+    final core::Set<core::int> #t119 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t120 = x;
+    if(!(#t120 == null))
+      #t119.{core::Set::addAll}{Invariant}(#t120{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t119, block {
+    final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t122 = y;
+    if(!(#t122 == null))
+      #t121.{core::Set::addAll}{Invariant}(#t122{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t121, block {
+    final core::Set<core::int> #t123 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t124 = z;
+    if(!(#t124 == null))
+      #t123.{core::Set::addAll}{Invariant}(#t124{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t123, block {
+    final core::Map<core::int, core::int> #t125 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t126 = w;
+    if(!(#t126 == null))
+      #t125.{core::Map::addAll}{Invariant}(#t126{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t125, block {
+    final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t128 = x;
+      if(!(#t128 == null))
+        for (final has-declared-initializer dynamic #t129 in #t128{core::Iterable<dynamic>}) {
+          final core::int #t130 = #t129 as{TypeError,ForNonNullableByDefault} core::int;
+          #t127.{core::Set::add}{Invariant}(#t130){(core::int) → core::bool};
+        }
+    }
+  } =>#t127, block {
+    final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t132 = y;
+      if(!(#t132 == null))
+        for (final has-declared-initializer dynamic #t133 in #t132{core::Iterable<dynamic>}) {
+          final core::int #t134 = #t133 as{TypeError,ForNonNullableByDefault} core::int;
+          #t131.{core::Set::add}{Invariant}(#t134){(core::int) → core::bool};
+        }
+    }
+  } =>#t131, block {
+    final core::Set<core::int> #t135 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t136 = z;
+      if(!(#t136 == null))
+        for (final has-declared-initializer dynamic #t137 in #t136{core::Iterable<dynamic>}) {
+          final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+          #t135.{core::Set::add}{Invariant}(#t138){(core::int) → core::bool};
+        }
+    }
+  } =>#t135, block {
+    final core::Map<core::int, core::int> #t139 = <core::int, core::int>{};
+    if(condition) {
+      final core::Map<core::int, core::int>? #t140 = w;
+      if(!(#t140 == null))
+        #t139.{core::Map::addAll}{Invariant}(#t140{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t139, block {
     final core::Set<core::int> #t141 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t142 = x;
-    if(!(#t142 == null))
-      for (final has-declared-initializer dynamic #t143 in #t142{core::Iterable<dynamic>}) {
-        final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
-        #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t142 = x;
+      if(!(#t142 == null))
+        for (final has-declared-initializer dynamic #t143 in #t142{core::Iterable<dynamic>}) {
+          final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
+          #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
+        }
+    }
   } =>#t141, block {
     final core::Set<core::int> #t145 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t146 = y;
-    if(!(#t146 == null))
-      for (final has-declared-initializer dynamic #t147 in #t146{core::Iterable<dynamic>}) {
-        final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
-        #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t146 = y;
+      if(!(#t146 == null))
+        for (final has-declared-initializer dynamic #t147 in #t146{core::Iterable<dynamic>}) {
+          final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
+          #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
+        }
+    }
   } =>#t145, block {
     final core::Set<core::int> #t149 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t150 = z;
-    if(!(#t150 == null))
-      for (final has-declared-initializer dynamic #t151 in #t150{core::Iterable<dynamic>}) {
-        final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
-        #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t150 = z;
+      if(!(#t150 == null))
+        for (final has-declared-initializer dynamic #t151 in #t150{core::Iterable<dynamic>}) {
+          final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
+          #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
+        }
+    }
   } =>#t149, block {
     final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t154 = w;
-    if(!(#t154 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t155 in #t154{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}{core::int}, #t155.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+    for (dynamic e in iterable) {
+      final core::Map<core::int, core::int>? #t154 = w;
+      if(!(#t154 == null))
+        #t153.{core::Map::addAll}{Invariant}(#t154{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
   } =>#t153, block {
-    final core::Set<core::int> #t156 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t157 = x;
-      if(!(#t157 == null))
-        for (final has-declared-initializer dynamic #t158 in #t157{core::Iterable<dynamic>}) {
-          final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
-          #t156.{core::Set::add}{Invariant}(#t159){(core::int) → core::bool};
-        }
-    }
-  } =>#t156, block {
-    final core::Set<core::int> #t160 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t161 = y;
-      if(!(#t161 == null))
-        for (final has-declared-initializer dynamic #t162 in #t161{core::Iterable<dynamic>}) {
-          final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
-          #t160.{core::Set::add}{Invariant}(#t163){(core::int) → core::bool};
-        }
-    }
-  } =>#t160, block {
-    final core::Set<core::int> #t164 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t165 = z;
-      if(!(#t165 == null))
-        for (final has-declared-initializer dynamic #t166 in #t165{core::Iterable<dynamic>}) {
-          final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
-          #t164.{core::Set::add}{Invariant}(#t167){(core::int) → core::bool};
-        }
-    }
-  } =>#t164, block {
-    final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
-    if(condition) {
-      final core::Map<core::int, core::int>? #t169 = w;
-      if(!(#t169 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t170 in #t169{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::int}, #t170.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t168, block {
-    final core::Set<core::int> #t171 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t172 = x;
-      if(!(#t172 == null))
-        for (final has-declared-initializer dynamic #t173 in #t172{core::Iterable<dynamic>}) {
-          final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
-          #t171.{core::Set::add}{Invariant}(#t174){(core::int) → core::bool};
-        }
-    }
-  } =>#t171, block {
-    final core::Set<core::int> #t175 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t176 = y;
-      if(!(#t176 == null))
-        for (final has-declared-initializer dynamic #t177 in #t176{core::Iterable<dynamic>}) {
-          final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
-          #t175.{core::Set::add}{Invariant}(#t178){(core::int) → core::bool};
-        }
-    }
-  } =>#t175, block {
-    final core::Set<core::int> #t179 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t180 = z;
-      if(!(#t180 == null))
-        for (final has-declared-initializer dynamic #t181 in #t180{core::Iterable<dynamic>}) {
-          final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
-          #t179.{core::Set::add}{Invariant}(#t182){(core::int) → core::bool};
-        }
-    }
-  } =>#t179, block {
-    final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
-    for (dynamic e in iterable) {
-      final core::Map<core::int, core::int>? #t184 = w;
-      if(!(#t184 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t185 in #t184{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}{core::int}, #t185.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t183, block {
-    final core::Set<core::int> #t186 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t155 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t187 = x;
-      if(!(#t187 == null))
-        for (final has-declared-initializer dynamic #t188 in #t187{core::Iterable<dynamic>}) {
-          final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
-          #t186.{core::Set::add}{Invariant}(#t189){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t156 = x;
+      if(!(#t156 == null))
+        for (final has-declared-initializer dynamic #t157 in #t156{core::Iterable<dynamic>}) {
+          final core::int #t158 = #t157 as{TypeError,ForNonNullableByDefault} core::int;
+          #t155.{core::Set::add}{Invariant}(#t158){(core::int) → core::bool};
         }
     }
-  } =>#t186, block {
-    final core::Set<core::int> #t190 = col::LinkedHashSet::•<core::int>();
+  } =>#t155, block {
+    final core::Set<core::int> #t159 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t191 = y;
-      if(!(#t191 == null))
-        for (final has-declared-initializer dynamic #t192 in #t191{core::Iterable<dynamic>}) {
-          final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
-          #t190.{core::Set::add}{Invariant}(#t193){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t160 = y;
+      if(!(#t160 == null))
+        for (final has-declared-initializer dynamic #t161 in #t160{core::Iterable<dynamic>}) {
+          final core::int #t162 = #t161 as{TypeError,ForNonNullableByDefault} core::int;
+          #t159.{core::Set::add}{Invariant}(#t162){(core::int) → core::bool};
         }
     }
-  } =>#t190, block {
-    final core::Set<core::int> #t194 = col::LinkedHashSet::•<core::int>();
+  } =>#t159, block {
+    final core::Set<core::int> #t163 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t195 = z;
-      if(!(#t195 == null))
-        for (final has-declared-initializer dynamic #t196 in #t195{core::Iterable<dynamic>}) {
-          final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
-          #t194.{core::Set::add}{Invariant}(#t197){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t164 = z;
+      if(!(#t164 == null))
+        for (final has-declared-initializer dynamic #t165 in #t164{core::Iterable<dynamic>}) {
+          final core::int #t166 = #t165 as{TypeError,ForNonNullableByDefault} core::int;
+          #t163.{core::Set::add}{Invariant}(#t166){(core::int) → core::bool};
         }
     }
-  } =>#t194, block {
-    final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
+  } =>#t163, block {
+    final core::Map<core::int, core::int> #t167 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t199 = w;
-      if(!(#t199 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t200 in #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}{core::int}, #t200.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      final core::Map<core::int, core::int>? #t168 = w;
+      if(!(#t168 == null))
+        #t167.{core::Map::addAll}{Invariant}(#t168{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t198];
+  } =>#t167];
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
index 3b3d749..80cf8ea 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.strong.transformed.expect
@@ -170,65 +170,63 @@
 
 static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t1 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...a}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
-          #t1.{core::Set::add}{Invariant}(#t3){(core::int) → core::bool};
-        }
-      }
-    }
+        ^");
   } =>#t1, block {
-    final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t2 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...b}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
-          #t4.{core::Set::add}{Invariant}(#t6){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t4, block {
-    final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t2, block {
+    final core::Set<core::int> #t3 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...c}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
-          #t7.{core::Set::add}{Invariant}(#t9){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t3, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...d}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
     <int, int>{...a}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
     <int>{...d}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t10, block {
-    final core::Set<core::int> #t11 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t4, block {
+    final core::Set<core::int> #t5 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...a}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
+          #t5.{core::Set::add}{Invariant}(#t7){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t5, block {
+    final core::Set<core::int> #t8 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...b}, // Error.
+                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
+          #t8.{core::Set::add}{Invariant}(#t10){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t8, block {
+    final core::Set<core::int> #t11 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...c}, // Error.
+                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
           final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
@@ -237,41 +235,13 @@
       }
     }
   } =>#t11, block {
-    final core::Set<core::int> #t14 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...b}, // Error.
-                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t15 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
-          #t14.{core::Set::add}{Invariant}(#t16){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t14, block {
-    final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...c}, // Error.
-                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
-          #t17.{core::Set::add}{Invariant}(#t19){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t17, block {
-    final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t14 = <core::int, core::int>{};
     if(condition)
-      #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t14.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...d}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t20, block {
-    final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t14, block {
+    final core::Set<core::int> #t15 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -281,6 +251,46 @@
     {for (dynamic e in iterable) ...a}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+            final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{Never};
+            {
+              final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+              #t15.{core::Set::add}{Invariant}(#t17){(core::int) → core::bool};
+            }
+          }
+        }
+      }
+    }
+  } =>#t15, block {
+    final core::Set<core::int> #t18 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...b}, // Error.
+                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
+          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+            final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{Never};
+            {
+              final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+              #t18.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
+            }
+          }
+        }
+      }
+    }
+  } =>#t18, block {
+    final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...c}, // Error.
+                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
+          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
             final dynamic #t22 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
               final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
@@ -291,63 +301,51 @@
       }
     }
   } =>#t21, block {
-    final core::Set<core::int> #t24 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t24 = <core::int, core::int>{};
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...b}, // Error.
-                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
-          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t25 = :sync-for-iterator.{core::Iterator::current}{Never};
-            {
-              final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
-              #t24.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
-            }
-          }
-        }
-      }
-    }
-  } =>#t24, block {
-    final core::Set<core::int> #t27 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...c}, // Error.
-                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
-          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t28 = :sync-for-iterator.{core::Iterator::current}{Never};
-            {
-              final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
-              #t27.{core::Set::add}{Invariant}(#t29){(core::int) → core::bool};
-            }
-          }
-        }
-      }
-    }
-  } =>#t27, block {
-    final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        #t24.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...d}, // Error.
                                     ^", null){(core::int, core::int) → void};
       }
     }
-  } =>#t30, block {
-    final core::Set<core::int> #t31 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t24, block {
+    final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...a}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t26 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+          #t25.{core::Set::add}{Invariant}(#t27){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t25, block {
+    final core::Set<core::int> #t28 = new col::_CompactLinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...b}, // Error.
+                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t29 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+          #t28.{core::Set::add}{Invariant}(#t30){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t28, block {
+    final core::Set<core::int> #t31 = new col::_CompactLinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...c}, // Error.
+                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
           final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
@@ -356,387 +354,285 @@
       }
     }
   } =>#t31, block {
-    final core::Set<core::int> #t34 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...b}, // Error.
-                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t35 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
-          #t34.{core::Set::add}{Invariant}(#t36){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t34, block {
-    final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...c}, // Error.
-                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
-          #t37.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t37, block {
-    final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t34.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...d}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t40, block {
-    final core::Set<core::int> #t41 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t42 = a;
-    if(!(#t42 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t42{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t43 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
-          #t41.{core::Set::add}{Invariant}(#t44){(core::int) → core::bool};
-        }
-      }
-    }
+  } =>#t34, block {
+    final core::Set<core::int> #t35 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t36 = a;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t35, block {
+    final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t38 = b;
+    if(!(#t38 == null))
+      #t37.{core::Set::addAll}{Invariant}(#t38{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t37, block {
+    final core::Set<core::int> #t39 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t40 = c;
+    if(!(#t40 == null))
+      #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t39, block {
+    final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t42 = d;
+    if(!(#t42 == null))
+      #t41.{core::Map::addAll}{Invariant}(#t42{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t41, block {
-    final core::Set<core::int> #t45 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t46 = b;
-    if(!(#t46 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t46{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t47 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
-          #t45.{core::Set::add}{Invariant}(#t48){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t45, block {
-    final core::Set<core::int> #t49 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t50 = c;
-    if(!(#t50 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t50{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t51 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
-          #t49.{core::Set::add}{Invariant}(#t52){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t49, block {
-    final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t54 = d;
-    if(!(#t54 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::int}, #t55.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-  } =>#t53, block {
-    final core::Set<core::int> #t56 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t43 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t57 = a;
-      if(!(#t57 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t57{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t44 = a;
+      if(!(#t44 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t44{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t45 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
-            #t56.{core::Set::add}{Invariant}(#t59){(core::int) → core::bool};
+            final core::int #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::int;
+            #t43.{core::Set::add}{Invariant}(#t46){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t56, block {
-    final core::Set<core::int> #t60 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t43, block {
+    final core::Set<core::int> #t47 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t61 = b;
-      if(!(#t61 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t48 = b;
+      if(!(#t48 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t48{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t62 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t49 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
-            #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+            final core::int #t50 = #t49 as{TypeError,ForNonNullableByDefault} core::int;
+            #t47.{core::Set::add}{Invariant}(#t50){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t60, block {
-    final core::Set<core::int> #t64 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t47, block {
+    final core::Set<core::int> #t51 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t65 = c;
-      if(!(#t65 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t65{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t52 = c;
+      if(!(#t52 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t52{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t53 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-            #t64.{core::Set::add}{Invariant}(#t67){(core::int) → core::bool};
+            final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+            #t51.{core::Set::add}{Invariant}(#t54){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t64, block {
-    final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
+  } =>#t51, block {
+    final core::Map<core::int, core::int> #t55 = <core::int, core::int>{};
     if(condition) {
-      final core::Map<core::int, core::int>? #t69 = d;
-      if(!(#t69 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}{core::int}, #t70.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
+      final core::Map<core::int, core::int>? #t56 = d;
+      if(!(#t56 == null))
+        #t55.{core::Map::addAll}{Invariant}(#t56{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t68, block {
-    final core::Set<core::int> #t71 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t55, block {
+    final core::Set<core::int> #t57 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::Iterable<dynamic>? #t72 = a;
-          if(!(#t72 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+          final core::Iterable<dynamic>? #t58 = a;
+          if(!(#t58 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t58{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
             for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              final dynamic #t59 = :sync-for-iterator.{core::Iterator::current}{dynamic};
               {
-                final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
-                #t71.{core::Set::add}{Invariant}(#t74){(core::int) → core::bool};
+                final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+                #t57.{core::Set::add}{Invariant}(#t60){(core::int) → core::bool};
               }
             }
           }
         }
       }
     }
+  } =>#t57, block {
+    final core::Set<core::int> #t61 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Iterable<dynamic>? #t62 = b;
+          if(!(#t62 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t62{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t63 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+                #t61.{core::Set::add}{Invariant}(#t64){(core::int) → core::bool};
+              }
+            }
+          }
+        }
+      }
+    }
+  } =>#t61, block {
+    final core::Set<core::int> #t65 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Iterable<dynamic>? #t66 = c;
+          if(!(#t66 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t66{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t67 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+                #t65.{core::Set::add}{Invariant}(#t68){(core::int) → core::bool};
+              }
+            }
+          }
+        }
+      }
+    }
+  } =>#t65, block {
+    final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Map<core::int, core::int>? #t70 = d;
+          if(!(#t70 == null))
+            #t69.{core::Map::addAll}{Invariant}(#t70{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+        }
+      }
+    }
+  } =>#t69, block {
+    final core::Set<core::int> #t71 = new col::_CompactLinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      final core::Iterable<dynamic>? #t72 = a;
+      if(!(#t72 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
+            #t71.{core::Set::add}{Invariant}(#t74){(core::int) → core::bool};
+          }
+        }
+      }
+    }
   } =>#t71, block {
     final core::Set<core::int> #t75 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t76 = b;
-          if(!(#t76 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t77 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
-                #t75.{core::Set::add}{Invariant}(#t78){(core::int) → core::bool};
-              }
-            }
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      final core::Iterable<dynamic>? #t76 = b;
+      if(!(#t76 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t77 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
+            #t75.{core::Set::add}{Invariant}(#t78){(core::int) → core::bool};
           }
         }
       }
     }
   } =>#t75, block {
     final core::Set<core::int> #t79 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t80 = c;
-          if(!(#t80 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t81 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
-                #t79.{core::Set::add}{Invariant}(#t82){(core::int) → core::bool};
-              }
-            }
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      final core::Iterable<dynamic>? #t80 = c;
+      if(!(#t80 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t81 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
+            #t79.{core::Set::add}{Invariant}(#t82){(core::int) → core::bool};
           }
         }
       }
     }
   } =>#t79, block {
     final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Map<core::int, core::int>? #t84 = d;
-          if(!(#t84 == null)) {
-            core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-              #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}{core::int}, #t85.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-            }
-          }
-        }
-      }
-    }
-  } =>#t83, block {
-    final core::Set<core::int> #t86 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t87 = a;
-      if(!(#t87 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t87{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t88 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
-            #t86.{core::Set::add}{Invariant}(#t89){(core::int) → core::bool};
-          }
-        }
-      }
+      final core::Map<core::int, core::int>? #t84 = d;
+      if(!(#t84 == null))
+        #t83.{core::Map::addAll}{Invariant}(#t84{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t86, block {
-    final core::Set<core::int> #t90 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t91 = b;
-      if(!(#t91 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t91{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t92 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
-            #t90.{core::Set::add}{Invariant}(#t93){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t90, block {
-    final core::Set<core::int> #t94 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t95 = c;
-      if(!(#t95 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t95{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t96 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
-            #t94.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t94, block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t99 = d;
-      if(!(#t99 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{core::int}, #t100.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
-    }
-  } =>#t98];
+  } =>#t83];
 }
 static method bar<X extends core::List<core::int>?, Y extends core::Set<core::int>?, Z extends core::Iterable<core::int>?, W extends core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t101 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t85 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...x}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t102 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
-          #t101.{core::Set::add}{Invariant}(#t103){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t101, block {
-    final core::Set<core::int> #t104 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t85, block {
+    final core::Set<core::int> #t86 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...y}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t105 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
-          #t104.{core::Set::add}{Invariant}(#t106){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t104, block {
-    final core::Set<core::int> #t107 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t86, block {
+    final core::Set<core::int> #t87 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...z}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t108 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
-          #t107.{core::Set::add}{Invariant}(#t109){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t87, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...w}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     <int, int>{...x}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t110 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t88 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t88.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
     <int>{...w}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t110, block {
-    final core::Set<core::int> #t111 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t88, block {
+    final core::Set<core::int> #t89 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...x}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t112 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t90 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
-          #t111.{core::Set::add}{Invariant}(#t113){(core::int) → core::bool};
+          final core::int #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int;
+          #t89.{core::Set::add}{Invariant}(#t91){(core::int) → core::bool};
         }
       }
     }
-  } =>#t111, block {
-    final core::Set<core::int> #t114 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t89, block {
+    final core::Set<core::int> #t92 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...y}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t115 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t93 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
-          #t114.{core::Set::add}{Invariant}(#t116){(core::int) → core::bool};
+          final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+          #t92.{core::Set::add}{Invariant}(#t94){(core::int) → core::bool};
         }
       }
     }
-  } =>#t114, block {
-    final core::Set<core::int> #t117 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t92, block {
+    final core::Set<core::int> #t95 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...z}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t118 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t96 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
-          #t117.{core::Set::add}{Invariant}(#t119){(core::int) → core::bool};
+          final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
+          #t95.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
         }
       }
     }
-  } =>#t117, block {
-    final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
+  } =>#t95, block {
+    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
     if(condition)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t98.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...w}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t120, block {
-    final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t98, block {
+    final core::Set<core::int> #t99 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -746,17 +642,17 @@
     {for (dynamic e in iterable) ...x}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t122 = :sync-for-iterator.{core::Iterator::current}{Never};
+            final dynamic #t100 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
-              final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
-              #t121.{core::Set::add}{Invariant}(#t123){(core::int) → core::bool};
+              final core::int #t101 = #t100 as{TypeError,ForNonNullableByDefault} core::int;
+              #t99.{core::Set::add}{Invariant}(#t101){(core::int) → core::bool};
             }
           }
         }
       }
     }
-  } =>#t121, block {
-    final core::Set<core::int> #t124 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t99, block {
+    final core::Set<core::int> #t102 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -766,17 +662,17 @@
     {for (dynamic e in iterable) ...y}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t125 = :sync-for-iterator.{core::Iterator::current}{Never};
+            final dynamic #t103 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
-              final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
-              #t124.{core::Set::add}{Invariant}(#t126){(core::int) → core::bool};
+              final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+              #t102.{core::Set::add}{Invariant}(#t104){(core::int) → core::bool};
             }
           }
         }
       }
     }
-  } =>#t124, block {
-    final core::Set<core::int> #t127 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t102, block {
+    final core::Set<core::int> #t105 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -786,318 +682,274 @@
     {for (dynamic e in iterable) ...z}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t128 = :sync-for-iterator.{core::Iterator::current}{Never};
+            final dynamic #t106 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
-              final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
-              #t127.{core::Set::add}{Invariant}(#t129){(core::int) → core::bool};
+              final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+              #t105.{core::Set::add}{Invariant}(#t107){(core::int) → core::bool};
             }
           }
         }
       }
     }
-  } =>#t127, block {
-    final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
+  } =>#t105, block {
+    final core::Map<core::int, core::int> #t108 = <core::int, core::int>{};
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        #t108.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...w}, // Error.
                                     ^", null){(core::int, core::int) → void};
       }
     }
-  } =>#t130, block {
-    final core::Set<core::int> #t131 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t108, block {
+    final core::Set<core::int> #t109 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...x}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t132 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t110 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
-          #t131.{core::Set::add}{Invariant}(#t133){(core::int) → core::bool};
+          final core::int #t111 = #t110 as{TypeError,ForNonNullableByDefault} core::int;
+          #t109.{core::Set::add}{Invariant}(#t111){(core::int) → core::bool};
         }
       }
     }
-  } =>#t131, block {
-    final core::Set<core::int> #t134 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t109, block {
+    final core::Set<core::int> #t112 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...y}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t135 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t113 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
-          #t134.{core::Set::add}{Invariant}(#t136){(core::int) → core::bool};
+          final core::int #t114 = #t113 as{TypeError,ForNonNullableByDefault} core::int;
+          #t112.{core::Set::add}{Invariant}(#t114){(core::int) → core::bool};
         }
       }
     }
-  } =>#t134, block {
-    final core::Set<core::int> #t137 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t112, block {
+    final core::Set<core::int> #t115 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...z}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t138 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t116 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
-          #t137.{core::Set::add}{Invariant}(#t139){(core::int) → core::bool};
+          final core::int #t117 = #t116 as{TypeError,ForNonNullableByDefault} core::int;
+          #t115.{core::Set::add}{Invariant}(#t117){(core::int) → core::bool};
         }
       }
     }
-  } =>#t137, block {
-    final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
+  } =>#t115, block {
+    final core::Map<core::int, core::int> #t118 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t118.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...w}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t140, block {
+  } =>#t118, block {
+    final core::Set<core::int> #t119 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t120 = x;
+    if(!(#t120 == null))
+      #t119.{core::Set::addAll}{Invariant}(#t120{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t119, block {
+    final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t122 = y;
+    if(!(#t122 == null))
+      #t121.{core::Set::addAll}{Invariant}(#t122{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t121, block {
+    final core::Set<core::int> #t123 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t124 = z;
+    if(!(#t124 == null))
+      #t123.{core::Set::addAll}{Invariant}(#t124{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t123, block {
+    final core::Map<core::int, core::int> #t125 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t126 = w;
+    if(!(#t126 == null))
+      #t125.{core::Map::addAll}{Invariant}(#t126{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t125, block {
+    final core::Set<core::int> #t127 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t128 = x;
+      if(!(#t128 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t128{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t129 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t130 = #t129 as{TypeError,ForNonNullableByDefault} core::int;
+            #t127.{core::Set::add}{Invariant}(#t130){(core::int) → core::bool};
+          }
+        }
+      }
+    }
+  } =>#t127, block {
+    final core::Set<core::int> #t131 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t132 = y;
+      if(!(#t132 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t132{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t133 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t134 = #t133 as{TypeError,ForNonNullableByDefault} core::int;
+            #t131.{core::Set::add}{Invariant}(#t134){(core::int) → core::bool};
+          }
+        }
+      }
+    }
+  } =>#t131, block {
+    final core::Set<core::int> #t135 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t136 = z;
+      if(!(#t136 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t136{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t137 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+            #t135.{core::Set::add}{Invariant}(#t138){(core::int) → core::bool};
+          }
+        }
+      }
+    }
+  } =>#t135, block {
+    final core::Map<core::int, core::int> #t139 = <core::int, core::int>{};
+    if(condition) {
+      final core::Map<core::int, core::int>? #t140 = w;
+      if(!(#t140 == null))
+        #t139.{core::Map::addAll}{Invariant}(#t140{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t139, block {
     final core::Set<core::int> #t141 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t142 = x;
-    if(!(#t142 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t143 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
-          #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
+          final core::Iterable<dynamic>? #t142 = x;
+          if(!(#t142 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t143 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
+                #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
+              }
+            }
+          }
         }
       }
     }
   } =>#t141, block {
     final core::Set<core::int> #t145 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t146 = y;
-    if(!(#t146 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t147 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
-          #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
+          final core::Iterable<dynamic>? #t146 = y;
+          if(!(#t146 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t147 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
+                #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
+              }
+            }
+          }
         }
       }
     }
   } =>#t145, block {
     final core::Set<core::int> #t149 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t150 = z;
-    if(!(#t150 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t151 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
-          #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
+          final core::Iterable<dynamic>? #t150 = z;
+          if(!(#t150 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t151 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
+                #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
+              }
+            }
+          }
         }
       }
     }
   } =>#t149, block {
     final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t154 = w;
-    if(!(#t154 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}{core::int}, #t155.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Map<core::int, core::int>? #t154 = w;
+          if(!(#t154 == null))
+            #t153.{core::Map::addAll}{Invariant}(#t154{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+        }
       }
     }
   } =>#t153, block {
-    final core::Set<core::int> #t156 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t157 = x;
-      if(!(#t157 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t157{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t158 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
-            #t156.{core::Set::add}{Invariant}(#t159){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t156, block {
-    final core::Set<core::int> #t160 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t161 = y;
-      if(!(#t161 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t161{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t162 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
-            #t160.{core::Set::add}{Invariant}(#t163){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t160, block {
-    final core::Set<core::int> #t164 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t165 = z;
-      if(!(#t165 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t165{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t166 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
-            #t164.{core::Set::add}{Invariant}(#t167){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t164, block {
-    final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
-    if(condition) {
-      final core::Map<core::int, core::int>? #t169 = w;
-      if(!(#t169 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::int}, #t170.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
-    }
-  } =>#t168, block {
-    final core::Set<core::int> #t171 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t172 = x;
-          if(!(#t172 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t172{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t173 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
-                #t171.{core::Set::add}{Invariant}(#t174){(core::int) → core::bool};
-              }
-            }
-          }
-        }
-      }
-    }
-  } =>#t171, block {
-    final core::Set<core::int> #t175 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t176 = y;
-          if(!(#t176 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t176{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t177 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
-                #t175.{core::Set::add}{Invariant}(#t178){(core::int) → core::bool};
-              }
-            }
-          }
-        }
-      }
-    }
-  } =>#t175, block {
-    final core::Set<core::int> #t179 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t180 = z;
-          if(!(#t180 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t180{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t181 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
-                #t179.{core::Set::add}{Invariant}(#t182){(core::int) → core::bool};
-              }
-            }
-          }
-        }
-      }
-    }
-  } =>#t179, block {
-    final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Map<core::int, core::int>? #t184 = w;
-          if(!(#t184 == null)) {
-            core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-              #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}{core::int}, #t185.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-            }
-          }
-        }
-      }
-    }
-  } =>#t183, block {
-    final core::Set<core::int> #t186 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t155 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t187 = x;
-      if(!(#t187 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t187{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t156 = x;
+      if(!(#t156 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t156{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t188 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t157 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
-            #t186.{core::Set::add}{Invariant}(#t189){(core::int) → core::bool};
+            final core::int #t158 = #t157 as{TypeError,ForNonNullableByDefault} core::int;
+            #t155.{core::Set::add}{Invariant}(#t158){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t186, block {
-    final core::Set<core::int> #t190 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t155, block {
+    final core::Set<core::int> #t159 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t191 = y;
-      if(!(#t191 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t191{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t160 = y;
+      if(!(#t160 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t160{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t192 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t161 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
-            #t190.{core::Set::add}{Invariant}(#t193){(core::int) → core::bool};
+            final core::int #t162 = #t161 as{TypeError,ForNonNullableByDefault} core::int;
+            #t159.{core::Set::add}{Invariant}(#t162){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t190, block {
-    final core::Set<core::int> #t194 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t159, block {
+    final core::Set<core::int> #t163 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t195 = z;
-      if(!(#t195 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t195{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t164 = z;
+      if(!(#t164 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t164{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t196 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t165 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
-            #t194.{core::Set::add}{Invariant}(#t197){(core::int) → core::bool};
+            final core::int #t166 = #t165 as{TypeError,ForNonNullableByDefault} core::int;
+            #t163.{core::Set::add}{Invariant}(#t166){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t194, block {
-    final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
+  } =>#t163, block {
+    final core::Map<core::int, core::int> #t167 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t199 = w;
-      if(!(#t199 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}{core::int}, #t200.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
+      final core::Map<core::int, core::int>? #t168 = w;
+      if(!(#t168 == null))
+        #t167.{core::Map::addAll}{Invariant}(#t168{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t198];
+  } =>#t167];
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
index 6f1a9c7..829181d 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.expect
@@ -170,210 +170,224 @@
 
 static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t2 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t1 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...a}, // Error.
-        ^") {
-      final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
-      #t1.{core::Set::add}{Invariant}(#t3){(core::int) → core::bool};
-    }
+        ^");
   } =>#t1, block {
-    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t5 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t2 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...b}, // Error.
-        ^") {
-      final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
-      #t4.{core::Set::add}{Invariant}(#t6){(core::int) → core::bool};
-    }
-  } =>#t4, block {
-    final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t8 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t2, block {
+    final core::Set<core::int> #t3 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...c}, // Error.
-        ^") {
-      final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
-      #t7.{core::Set::add}{Invariant}(#t9){(core::int) → core::bool};
-    }
-  } =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t3, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...d}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
     <int, int>{...a}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>();
-    #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
     <int>{...d}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t10, block {
+  } =>#t4, block {
+    final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
+    if(condition)
+      for (final has-declared-initializer dynamic #t6 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...a}, // Error.
+                       ^") {
+        final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
+        #t5.{core::Set::add}{Invariant}(#t7){(core::int) → core::bool};
+      }
+  } =>#t5, block {
+    final core::Set<core::int> #t8 = col::LinkedHashSet::•<core::int>();
+    if(condition)
+      for (final has-declared-initializer dynamic #t9 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...b}, // Error.
+                       ^") {
+        final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
+        #t8.{core::Set::add}{Invariant}(#t10){(core::int) → core::bool};
+      }
+  } =>#t8, block {
     final core::Set<core::int> #t11 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t12 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t12 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...c}, // Error.
                        ^") {
         final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
         #t11.{core::Set::add}{Invariant}(#t13){(core::int) → core::bool};
       }
   } =>#t11, block {
-    final core::Set<core::int> #t14 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t14 = <core::int, core::int>{};
     if(condition)
-      for (final has-declared-initializer dynamic #t15 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...b}, // Error.
-                       ^") {
-        final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
-        #t14.{core::Set::add}{Invariant}(#t16){(core::int) → core::bool};
-      }
-  } =>#t14, block {
-    final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
-    if(condition)
-      for (final has-declared-initializer dynamic #t18 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...c}, // Error.
-                       ^") {
-        final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
-        #t17.{core::Set::add}{Invariant}(#t19){(core::int) → core::bool};
-      }
-  } =>#t17, block {
-    final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
-    if(condition)
-      #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t14.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...d}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t20, block {
+  } =>#t14, block {
+    final core::Set<core::int> #t15 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable)
+      for (final has-declared-initializer dynamic #t16 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...a}, // Error.
+                                    ^") {
+        final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+        #t15.{core::Set::add}{Invariant}(#t17){(core::int) → core::bool};
+      }
+  } =>#t15, block {
+    final core::Set<core::int> #t18 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable)
+      for (final has-declared-initializer dynamic #t19 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...b}, // Error.
+                                    ^") {
+        final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+        #t18.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
+      }
+  } =>#t18, block {
     final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t22 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t22 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...c}, // Error.
                                     ^") {
         final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
         #t21.{core::Set::add}{Invariant}(#t23){(core::int) → core::bool};
       }
   } =>#t21, block {
-    final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t24 = <core::int, core::int>{};
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t25 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...b}, // Error.
-                                    ^") {
-        final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
-        #t24.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
-      }
-  } =>#t24, block {
-    final core::Set<core::int> #t27 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t28 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...c}, // Error.
-                                    ^") {
-        final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
-        #t27.{core::Set::add}{Invariant}(#t29){(core::int) → core::bool};
-      }
-  } =>#t27, block {
-    final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
-    for (dynamic e in iterable)
-      #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t24.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...d}, // Error.
                                     ^", null){(core::int, core::int) → void};
-  } =>#t30, block {
+  } =>#t24, block {
+    final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer dynamic #t26 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...a}, // Error.
+                                     ^") {
+        final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+        #t25.{core::Set::add}{Invariant}(#t27){(core::int) → core::bool};
+      }
+  } =>#t25, block {
+    final core::Set<core::int> #t28 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer dynamic #t29 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...b}, // Error.
+                                     ^") {
+        final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+        #t28.{core::Set::add}{Invariant}(#t30){(core::int) → core::bool};
+      }
+  } =>#t28, block {
     final core::Set<core::int> #t31 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...c}, // Error.
                                      ^") {
         final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
         #t31.{core::Set::add}{Invariant}(#t33){(core::int) → core::bool};
       }
   } =>#t31, block {
-    final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t35 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...b}, // Error.
-                                     ^") {
-        final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
-        #t34.{core::Set::add}{Invariant}(#t36){(core::int) → core::bool};
-      }
-  } =>#t34, block {
-    final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t38 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...c}, // Error.
-                                     ^") {
-        final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
-        #t37.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
-      }
-  } =>#t37, block {
-    final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t34.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...d}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t40, block {
-    final core::Set<core::int> #t41 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t42 = a;
+  } =>#t34, block {
+    final core::Set<core::int> #t35 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t36 = a;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t35, block {
+    final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t38 = b;
+    if(!(#t38 == null))
+      #t37.{core::Set::addAll}{Invariant}(#t38{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t37, block {
+    final core::Set<core::int> #t39 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t40 = c;
+    if(!(#t40 == null))
+      #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t39, block {
+    final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t42 = d;
     if(!(#t42 == null))
-      for (final has-declared-initializer dynamic #t43 in #t42{core::Iterable<dynamic>}) {
-        final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
-        #t41.{core::Set::add}{Invariant}(#t44){(core::int) → core::bool};
-      }
+      #t41.{core::Map::addAll}{Invariant}(#t42{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t41, block {
-    final core::Set<core::int> #t45 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t46 = b;
-    if(!(#t46 == null))
-      for (final has-declared-initializer dynamic #t47 in #t46{core::Iterable<dynamic>}) {
-        final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
-        #t45.{core::Set::add}{Invariant}(#t48){(core::int) → core::bool};
-      }
-  } =>#t45, block {
-    final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t50 = c;
-    if(!(#t50 == null))
-      for (final has-declared-initializer dynamic #t51 in #t50{core::Iterable<dynamic>}) {
-        final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
-        #t49.{core::Set::add}{Invariant}(#t52){(core::int) → core::bool};
-      }
-  } =>#t49, block {
-    final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t54 = d;
-    if(!(#t54 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t55 in #t54{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::int}, #t55.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-  } =>#t53, block {
-    final core::Set<core::int> #t56 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t43 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t57 = a;
-      if(!(#t57 == null))
-        for (final has-declared-initializer dynamic #t58 in #t57{core::Iterable<dynamic>}) {
-          final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
-          #t56.{core::Set::add}{Invariant}(#t59){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t44 = a;
+      if(!(#t44 == null))
+        for (final has-declared-initializer dynamic #t45 in #t44{core::Iterable<dynamic>}) {
+          final core::int #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::int;
+          #t43.{core::Set::add}{Invariant}(#t46){(core::int) → core::bool};
         }
     }
-  } =>#t56, block {
-    final core::Set<core::int> #t60 = col::LinkedHashSet::•<core::int>();
+  } =>#t43, block {
+    final core::Set<core::int> #t47 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t61 = b;
-      if(!(#t61 == null))
-        for (final has-declared-initializer dynamic #t62 in #t61{core::Iterable<dynamic>}) {
-          final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
-          #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t48 = b;
+      if(!(#t48 == null))
+        for (final has-declared-initializer dynamic #t49 in #t48{core::Iterable<dynamic>}) {
+          final core::int #t50 = #t49 as{TypeError,ForNonNullableByDefault} core::int;
+          #t47.{core::Set::add}{Invariant}(#t50){(core::int) → core::bool};
         }
     }
-  } =>#t60, block {
-    final core::Set<core::int> #t64 = col::LinkedHashSet::•<core::int>();
+  } =>#t47, block {
+    final core::Set<core::int> #t51 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t65 = c;
-      if(!(#t65 == null))
-        for (final has-declared-initializer dynamic #t66 in #t65{core::Iterable<dynamic>}) {
-          final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-          #t64.{core::Set::add}{Invariant}(#t67){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t52 = c;
+      if(!(#t52 == null))
+        for (final has-declared-initializer dynamic #t53 in #t52{core::Iterable<dynamic>}) {
+          final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+          #t51.{core::Set::add}{Invariant}(#t54){(core::int) → core::bool};
         }
     }
-  } =>#t64, block {
-    final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
+  } =>#t51, block {
+    final core::Map<core::int, core::int> #t55 = <core::int, core::int>{};
     if(condition) {
-      final core::Map<core::int, core::int>? #t69 = d;
-      if(!(#t69 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t70 in #t69{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}{core::int}, #t70.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      final core::Map<core::int, core::int>? #t56 = d;
+      if(!(#t56 == null))
+        #t55.{core::Map::addAll}{Invariant}(#t56{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t68, block {
-    final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
+  } =>#t55, block {
+    final core::Set<core::int> #t57 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t58 = a;
+      if(!(#t58 == null))
+        for (final has-declared-initializer dynamic #t59 in #t58{core::Iterable<dynamic>}) {
+          final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+          #t57.{core::Set::add}{Invariant}(#t60){(core::int) → core::bool};
+        }
+    }
+  } =>#t57, block {
+    final core::Set<core::int> #t61 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t62 = b;
+      if(!(#t62 == null))
+        for (final has-declared-initializer dynamic #t63 in #t62{core::Iterable<dynamic>}) {
+          final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+          #t61.{core::Set::add}{Invariant}(#t64){(core::int) → core::bool};
+        }
+    }
+  } =>#t61, block {
+    final core::Set<core::int> #t65 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t66 = c;
+      if(!(#t66 == null))
+        for (final has-declared-initializer dynamic #t67 in #t66{core::Iterable<dynamic>}) {
+          final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+          #t65.{core::Set::add}{Invariant}(#t68){(core::int) → core::bool};
+        }
+    }
+  } =>#t65, block {
+    final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+    for (dynamic e in iterable) {
+      final core::Map<core::int, core::int>? #t70 = d;
+      if(!(#t70 == null))
+        #t69.{core::Map::addAll}{Invariant}(#t70{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t69, block {
+    final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t72 = a;
       if(!(#t72 == null))
         for (final has-declared-initializer dynamic #t73 in #t72{core::Iterable<dynamic>}) {
@@ -383,7 +397,7 @@
     }
   } =>#t71, block {
     final core::Set<core::int> #t75 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t76 = b;
       if(!(#t76 == null))
         for (final has-declared-initializer dynamic #t77 in #t76{core::Iterable<dynamic>}) {
@@ -393,7 +407,7 @@
     }
   } =>#t75, block {
     final core::Set<core::int> #t79 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t80 = c;
       if(!(#t80 == null))
         for (final has-declared-initializer dynamic #t81 in #t80{core::Iterable<dynamic>}) {
@@ -403,329 +417,265 @@
     }
   } =>#t79, block {
     final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Map<core::int, core::int>? #t84 = d;
       if(!(#t84 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t85 in #t84{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}{core::int}, #t85.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+        #t83.{core::Map::addAll}{Invariant}(#t84{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t83, block {
-    final core::Set<core::int> #t86 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t87 = a;
-      if(!(#t87 == null))
-        for (final has-declared-initializer dynamic #t88 in #t87{core::Iterable<dynamic>}) {
-          final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
-          #t86.{core::Set::add}{Invariant}(#t89){(core::int) → core::bool};
-        }
-    }
-  } =>#t86, block {
-    final core::Set<core::int> #t90 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t91 = b;
-      if(!(#t91 == null))
-        for (final has-declared-initializer dynamic #t92 in #t91{core::Iterable<dynamic>}) {
-          final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
-          #t90.{core::Set::add}{Invariant}(#t93){(core::int) → core::bool};
-        }
-    }
-  } =>#t90, block {
-    final core::Set<core::int> #t94 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t95 = c;
-      if(!(#t95 == null))
-        for (final has-declared-initializer dynamic #t96 in #t95{core::Iterable<dynamic>}) {
-          final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
-          #t94.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
-        }
-    }
-  } =>#t94, block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t99 = d;
-      if(!(#t99 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t100 in #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{core::int}, #t100.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t98];
+  } =>#t83];
 }
 static method bar<X extends core::List<core::int>?, Y extends core::Set<core::int>?, Z extends core::Iterable<core::int>?, W extends core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t101 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t102 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t85 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...x}, // Error.
-        ^") {
-      final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
-      #t101.{core::Set::add}{Invariant}(#t103){(core::int) → core::bool};
-    }
-  } =>#t101, block {
-    final core::Set<core::int> #t104 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t105 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t85, block {
+    final core::Set<core::int> #t86 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...y}, // Error.
-        ^") {
-      final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
-      #t104.{core::Set::add}{Invariant}(#t106){(core::int) → core::bool};
-    }
-  } =>#t104, block {
-    final core::Set<core::int> #t107 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t108 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t86, block {
+    final core::Set<core::int> #t87 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...z}, // Error.
-        ^") {
-      final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
-      #t107.{core::Set::add}{Invariant}(#t109){(core::int) → core::bool};
-    }
-  } =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t87, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...w}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     <int, int>{...x}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t110 = col::LinkedHashSet::•<core::int>();
-    #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t88 = col::LinkedHashSet::•<core::int>();
+    #t88.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
     <int>{...w}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t110, block {
-    final core::Set<core::int> #t111 = col::LinkedHashSet::•<core::int>();
+  } =>#t88, block {
+    final core::Set<core::int> #t89 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t112 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t90 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...x}, // Error.
                        ^") {
-        final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
-        #t111.{core::Set::add}{Invariant}(#t113){(core::int) → core::bool};
+        final core::int #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int;
+        #t89.{core::Set::add}{Invariant}(#t91){(core::int) → core::bool};
       }
-  } =>#t111, block {
-    final core::Set<core::int> #t114 = col::LinkedHashSet::•<core::int>();
+  } =>#t89, block {
+    final core::Set<core::int> #t92 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t115 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t93 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...y}, // Error.
                        ^") {
-        final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
-        #t114.{core::Set::add}{Invariant}(#t116){(core::int) → core::bool};
+        final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+        #t92.{core::Set::add}{Invariant}(#t94){(core::int) → core::bool};
       }
-  } =>#t114, block {
-    final core::Set<core::int> #t117 = col::LinkedHashSet::•<core::int>();
+  } =>#t92, block {
+    final core::Set<core::int> #t95 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t118 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t96 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...z}, // Error.
                        ^") {
-        final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
-        #t117.{core::Set::add}{Invariant}(#t119){(core::int) → core::bool};
+        final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
+        #t95.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
       }
-  } =>#t117, block {
-    final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
+  } =>#t95, block {
+    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
     if(condition)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t98.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...w}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t120, block {
-    final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
+  } =>#t98, block {
+    final core::Set<core::int> #t99 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t122 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t100 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...x}, // Error.
                                     ^") {
-        final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
-        #t121.{core::Set::add}{Invariant}(#t123){(core::int) → core::bool};
+        final core::int #t101 = #t100 as{TypeError,ForNonNullableByDefault} core::int;
+        #t99.{core::Set::add}{Invariant}(#t101){(core::int) → core::bool};
       }
-  } =>#t121, block {
-    final core::Set<core::int> #t124 = col::LinkedHashSet::•<core::int>();
+  } =>#t99, block {
+    final core::Set<core::int> #t102 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t125 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t103 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...y}, // Error.
                                     ^") {
-        final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
-        #t124.{core::Set::add}{Invariant}(#t126){(core::int) → core::bool};
+        final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+        #t102.{core::Set::add}{Invariant}(#t104){(core::int) → core::bool};
       }
-  } =>#t124, block {
-    final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
+  } =>#t102, block {
+    final core::Set<core::int> #t105 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t128 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t106 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...z}, // Error.
                                     ^") {
-        final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
-        #t127.{core::Set::add}{Invariant}(#t129){(core::int) → core::bool};
+        final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+        #t105.{core::Set::add}{Invariant}(#t107){(core::int) → core::bool};
       }
-  } =>#t127, block {
-    final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
+  } =>#t105, block {
+    final core::Map<core::int, core::int> #t108 = <core::int, core::int>{};
     for (dynamic e in iterable)
-      #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t108.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...w}, // Error.
                                     ^", null){(core::int, core::int) → void};
-  } =>#t130, block {
-    final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
+  } =>#t108, block {
+    final core::Set<core::int> #t109 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t132 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t110 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...x}, // Error.
                                      ^") {
-        final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
-        #t131.{core::Set::add}{Invariant}(#t133){(core::int) → core::bool};
+        final core::int #t111 = #t110 as{TypeError,ForNonNullableByDefault} core::int;
+        #t109.{core::Set::add}{Invariant}(#t111){(core::int) → core::bool};
       }
-  } =>#t131, block {
-    final core::Set<core::int> #t134 = col::LinkedHashSet::•<core::int>();
+  } =>#t109, block {
+    final core::Set<core::int> #t112 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t135 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t113 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...y}, // Error.
                                      ^") {
-        final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
-        #t134.{core::Set::add}{Invariant}(#t136){(core::int) → core::bool};
+        final core::int #t114 = #t113 as{TypeError,ForNonNullableByDefault} core::int;
+        #t112.{core::Set::add}{Invariant}(#t114){(core::int) → core::bool};
       }
-  } =>#t134, block {
-    final core::Set<core::int> #t137 = col::LinkedHashSet::•<core::int>();
+  } =>#t112, block {
+    final core::Set<core::int> #t115 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t138 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t116 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...z}, // Error.
                                      ^") {
-        final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
-        #t137.{core::Set::add}{Invariant}(#t139){(core::int) → core::bool};
+        final core::int #t117 = #t116 as{TypeError,ForNonNullableByDefault} core::int;
+        #t115.{core::Set::add}{Invariant}(#t117){(core::int) → core::bool};
       }
-  } =>#t137, block {
-    final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
+  } =>#t115, block {
+    final core::Map<core::int, core::int> #t118 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t118.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...w}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t140, block {
+  } =>#t118, block {
+    final core::Set<core::int> #t119 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t120 = x;
+    if(!(#t120 == null))
+      #t119.{core::Set::addAll}{Invariant}(#t120{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t119, block {
+    final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t122 = y;
+    if(!(#t122 == null))
+      #t121.{core::Set::addAll}{Invariant}(#t122{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t121, block {
+    final core::Set<core::int> #t123 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t124 = z;
+    if(!(#t124 == null))
+      #t123.{core::Set::addAll}{Invariant}(#t124{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t123, block {
+    final core::Map<core::int, core::int> #t125 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t126 = w;
+    if(!(#t126 == null))
+      #t125.{core::Map::addAll}{Invariant}(#t126{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t125, block {
+    final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t128 = x;
+      if(!(#t128 == null))
+        for (final has-declared-initializer dynamic #t129 in #t128{core::Iterable<dynamic>}) {
+          final core::int #t130 = #t129 as{TypeError,ForNonNullableByDefault} core::int;
+          #t127.{core::Set::add}{Invariant}(#t130){(core::int) → core::bool};
+        }
+    }
+  } =>#t127, block {
+    final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t132 = y;
+      if(!(#t132 == null))
+        for (final has-declared-initializer dynamic #t133 in #t132{core::Iterable<dynamic>}) {
+          final core::int #t134 = #t133 as{TypeError,ForNonNullableByDefault} core::int;
+          #t131.{core::Set::add}{Invariant}(#t134){(core::int) → core::bool};
+        }
+    }
+  } =>#t131, block {
+    final core::Set<core::int> #t135 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t136 = z;
+      if(!(#t136 == null))
+        for (final has-declared-initializer dynamic #t137 in #t136{core::Iterable<dynamic>}) {
+          final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+          #t135.{core::Set::add}{Invariant}(#t138){(core::int) → core::bool};
+        }
+    }
+  } =>#t135, block {
+    final core::Map<core::int, core::int> #t139 = <core::int, core::int>{};
+    if(condition) {
+      final core::Map<core::int, core::int>? #t140 = w;
+      if(!(#t140 == null))
+        #t139.{core::Map::addAll}{Invariant}(#t140{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t139, block {
     final core::Set<core::int> #t141 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t142 = x;
-    if(!(#t142 == null))
-      for (final has-declared-initializer dynamic #t143 in #t142{core::Iterable<dynamic>}) {
-        final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
-        #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t142 = x;
+      if(!(#t142 == null))
+        for (final has-declared-initializer dynamic #t143 in #t142{core::Iterable<dynamic>}) {
+          final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
+          #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
+        }
+    }
   } =>#t141, block {
     final core::Set<core::int> #t145 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t146 = y;
-    if(!(#t146 == null))
-      for (final has-declared-initializer dynamic #t147 in #t146{core::Iterable<dynamic>}) {
-        final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
-        #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t146 = y;
+      if(!(#t146 == null))
+        for (final has-declared-initializer dynamic #t147 in #t146{core::Iterable<dynamic>}) {
+          final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
+          #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
+        }
+    }
   } =>#t145, block {
     final core::Set<core::int> #t149 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t150 = z;
-    if(!(#t150 == null))
-      for (final has-declared-initializer dynamic #t151 in #t150{core::Iterable<dynamic>}) {
-        final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
-        #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t150 = z;
+      if(!(#t150 == null))
+        for (final has-declared-initializer dynamic #t151 in #t150{core::Iterable<dynamic>}) {
+          final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
+          #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
+        }
+    }
   } =>#t149, block {
     final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t154 = w;
-    if(!(#t154 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t155 in #t154{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}{core::int}, #t155.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+    for (dynamic e in iterable) {
+      final core::Map<core::int, core::int>? #t154 = w;
+      if(!(#t154 == null))
+        #t153.{core::Map::addAll}{Invariant}(#t154{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
   } =>#t153, block {
-    final core::Set<core::int> #t156 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t157 = x;
-      if(!(#t157 == null))
-        for (final has-declared-initializer dynamic #t158 in #t157{core::Iterable<dynamic>}) {
-          final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
-          #t156.{core::Set::add}{Invariant}(#t159){(core::int) → core::bool};
-        }
-    }
-  } =>#t156, block {
-    final core::Set<core::int> #t160 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t161 = y;
-      if(!(#t161 == null))
-        for (final has-declared-initializer dynamic #t162 in #t161{core::Iterable<dynamic>}) {
-          final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
-          #t160.{core::Set::add}{Invariant}(#t163){(core::int) → core::bool};
-        }
-    }
-  } =>#t160, block {
-    final core::Set<core::int> #t164 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t165 = z;
-      if(!(#t165 == null))
-        for (final has-declared-initializer dynamic #t166 in #t165{core::Iterable<dynamic>}) {
-          final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
-          #t164.{core::Set::add}{Invariant}(#t167){(core::int) → core::bool};
-        }
-    }
-  } =>#t164, block {
-    final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
-    if(condition) {
-      final core::Map<core::int, core::int>? #t169 = w;
-      if(!(#t169 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t170 in #t169{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::int}, #t170.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t168, block {
-    final core::Set<core::int> #t171 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t172 = x;
-      if(!(#t172 == null))
-        for (final has-declared-initializer dynamic #t173 in #t172{core::Iterable<dynamic>}) {
-          final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
-          #t171.{core::Set::add}{Invariant}(#t174){(core::int) → core::bool};
-        }
-    }
-  } =>#t171, block {
-    final core::Set<core::int> #t175 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t176 = y;
-      if(!(#t176 == null))
-        for (final has-declared-initializer dynamic #t177 in #t176{core::Iterable<dynamic>}) {
-          final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
-          #t175.{core::Set::add}{Invariant}(#t178){(core::int) → core::bool};
-        }
-    }
-  } =>#t175, block {
-    final core::Set<core::int> #t179 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t180 = z;
-      if(!(#t180 == null))
-        for (final has-declared-initializer dynamic #t181 in #t180{core::Iterable<dynamic>}) {
-          final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
-          #t179.{core::Set::add}{Invariant}(#t182){(core::int) → core::bool};
-        }
-    }
-  } =>#t179, block {
-    final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
-    for (dynamic e in iterable) {
-      final core::Map<core::int, core::int>? #t184 = w;
-      if(!(#t184 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t185 in #t184{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}{core::int}, #t185.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t183, block {
-    final core::Set<core::int> #t186 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t155 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t187 = x;
-      if(!(#t187 == null))
-        for (final has-declared-initializer dynamic #t188 in #t187{core::Iterable<dynamic>}) {
-          final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
-          #t186.{core::Set::add}{Invariant}(#t189){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t156 = x;
+      if(!(#t156 == null))
+        for (final has-declared-initializer dynamic #t157 in #t156{core::Iterable<dynamic>}) {
+          final core::int #t158 = #t157 as{TypeError,ForNonNullableByDefault} core::int;
+          #t155.{core::Set::add}{Invariant}(#t158){(core::int) → core::bool};
         }
     }
-  } =>#t186, block {
-    final core::Set<core::int> #t190 = col::LinkedHashSet::•<core::int>();
+  } =>#t155, block {
+    final core::Set<core::int> #t159 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t191 = y;
-      if(!(#t191 == null))
-        for (final has-declared-initializer dynamic #t192 in #t191{core::Iterable<dynamic>}) {
-          final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
-          #t190.{core::Set::add}{Invariant}(#t193){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t160 = y;
+      if(!(#t160 == null))
+        for (final has-declared-initializer dynamic #t161 in #t160{core::Iterable<dynamic>}) {
+          final core::int #t162 = #t161 as{TypeError,ForNonNullableByDefault} core::int;
+          #t159.{core::Set::add}{Invariant}(#t162){(core::int) → core::bool};
         }
     }
-  } =>#t190, block {
-    final core::Set<core::int> #t194 = col::LinkedHashSet::•<core::int>();
+  } =>#t159, block {
+    final core::Set<core::int> #t163 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t195 = z;
-      if(!(#t195 == null))
-        for (final has-declared-initializer dynamic #t196 in #t195{core::Iterable<dynamic>}) {
-          final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
-          #t194.{core::Set::add}{Invariant}(#t197){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t164 = z;
+      if(!(#t164 == null))
+        for (final has-declared-initializer dynamic #t165 in #t164{core::Iterable<dynamic>}) {
+          final core::int #t166 = #t165 as{TypeError,ForNonNullableByDefault} core::int;
+          #t163.{core::Set::add}{Invariant}(#t166){(core::int) → core::bool};
         }
     }
-  } =>#t194, block {
-    final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
+  } =>#t163, block {
+    final core::Map<core::int, core::int> #t167 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t199 = w;
-      if(!(#t199 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t200 in #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}{core::int}, #t200.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      final core::Map<core::int, core::int>? #t168 = w;
+      if(!(#t168 == null))
+        #t167.{core::Map::addAll}{Invariant}(#t168{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t198];
+  } =>#t167];
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.modular.expect
index 6f1a9c7..829181d 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.modular.expect
@@ -170,210 +170,224 @@
 
 static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t1 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t2 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t1 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...a}, // Error.
-        ^") {
-      final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
-      #t1.{core::Set::add}{Invariant}(#t3){(core::int) → core::bool};
-    }
+        ^");
   } =>#t1, block {
-    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t5 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t2 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...b}, // Error.
-        ^") {
-      final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
-      #t4.{core::Set::add}{Invariant}(#t6){(core::int) → core::bool};
-    }
-  } =>#t4, block {
-    final core::Set<core::int> #t7 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t8 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t2, block {
+    final core::Set<core::int> #t3 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...c}, // Error.
-        ^") {
-      final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
-      #t7.{core::Set::add}{Invariant}(#t9){(core::int) → core::bool};
-    }
-  } =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t3, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...d}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
     <int, int>{...a}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t10 = col::LinkedHashSet::•<core::int>();
-    #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t4 = col::LinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
     <int>{...d}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t10, block {
+  } =>#t4, block {
+    final core::Set<core::int> #t5 = col::LinkedHashSet::•<core::int>();
+    if(condition)
+      for (final has-declared-initializer dynamic #t6 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...a}, // Error.
+                       ^") {
+        final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
+        #t5.{core::Set::add}{Invariant}(#t7){(core::int) → core::bool};
+      }
+  } =>#t5, block {
+    final core::Set<core::int> #t8 = col::LinkedHashSet::•<core::int>();
+    if(condition)
+      for (final has-declared-initializer dynamic #t9 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...b}, // Error.
+                       ^") {
+        final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
+        #t8.{core::Set::add}{Invariant}(#t10){(core::int) → core::bool};
+      }
+  } =>#t8, block {
     final core::Set<core::int> #t11 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t12 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t12 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...c}, // Error.
                        ^") {
         final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
         #t11.{core::Set::add}{Invariant}(#t13){(core::int) → core::bool};
       }
   } =>#t11, block {
-    final core::Set<core::int> #t14 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t14 = <core::int, core::int>{};
     if(condition)
-      for (final has-declared-initializer dynamic #t15 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...b}, // Error.
-                       ^") {
-        final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
-        #t14.{core::Set::add}{Invariant}(#t16){(core::int) → core::bool};
-      }
-  } =>#t14, block {
-    final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
-    if(condition)
-      for (final has-declared-initializer dynamic #t18 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...c}, // Error.
-                       ^") {
-        final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
-        #t17.{core::Set::add}{Invariant}(#t19){(core::int) → core::bool};
-      }
-  } =>#t17, block {
-    final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
-    if(condition)
-      #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t14.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...d}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t20, block {
+  } =>#t14, block {
+    final core::Set<core::int> #t15 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable)
+      for (final has-declared-initializer dynamic #t16 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...a}, // Error.
+                                    ^") {
+        final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+        #t15.{core::Set::add}{Invariant}(#t17){(core::int) → core::bool};
+      }
+  } =>#t15, block {
+    final core::Set<core::int> #t18 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable)
+      for (final has-declared-initializer dynamic #t19 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...b}, // Error.
+                                    ^") {
+        final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+        #t18.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
+      }
+  } =>#t18, block {
     final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t22 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:18:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t22 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...c}, // Error.
                                     ^") {
         final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
         #t21.{core::Set::add}{Invariant}(#t23){(core::int) → core::bool};
       }
   } =>#t21, block {
-    final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t24 = <core::int, core::int>{};
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t25 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...b}, // Error.
-                                    ^") {
-        final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
-        #t24.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
-      }
-  } =>#t24, block {
-    final core::Set<core::int> #t27 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t28 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...c}, // Error.
-                                    ^") {
-        final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
-        #t27.{core::Set::add}{Invariant}(#t29){(core::int) → core::bool};
-      }
-  } =>#t27, block {
-    final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
-    for (dynamic e in iterable)
-      #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t24.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...d}, // Error.
                                     ^", null){(core::int, core::int) → void};
-  } =>#t30, block {
+  } =>#t24, block {
+    final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer dynamic #t26 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...a}, // Error.
+                                     ^") {
+        final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+        #t25.{core::Set::add}{Invariant}(#t27){(core::int) → core::bool};
+      }
+  } =>#t25, block {
+    final core::Set<core::int> #t28 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      for (final has-declared-initializer dynamic #t29 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...b}, // Error.
+                                     ^") {
+        final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+        #t28.{core::Set::add}{Invariant}(#t30){(core::int) → core::bool};
+      }
+  } =>#t28, block {
     final core::Set<core::int> #t31 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...a}, // Error.
+      for (final has-declared-initializer dynamic #t32 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...c}, // Error.
                                      ^") {
         final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
         #t31.{core::Set::add}{Invariant}(#t33){(core::int) → core::bool};
       }
   } =>#t31, block {
-    final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t35 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...b}, // Error.
-                                     ^") {
-        final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
-        #t34.{core::Set::add}{Invariant}(#t36){(core::int) → core::bool};
-      }
-  } =>#t34, block {
-    final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t38 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...c}, // Error.
-                                     ^") {
-        final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
-        #t37.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
-      }
-  } =>#t37, block {
-    final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t34.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...d}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t40, block {
-    final core::Set<core::int> #t41 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t42 = a;
+  } =>#t34, block {
+    final core::Set<core::int> #t35 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t36 = a;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t35, block {
+    final core::Set<core::int> #t37 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t38 = b;
+    if(!(#t38 == null))
+      #t37.{core::Set::addAll}{Invariant}(#t38{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t37, block {
+    final core::Set<core::int> #t39 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t40 = c;
+    if(!(#t40 == null))
+      #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t39, block {
+    final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t42 = d;
     if(!(#t42 == null))
-      for (final has-declared-initializer dynamic #t43 in #t42{core::Iterable<dynamic>}) {
-        final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
-        #t41.{core::Set::add}{Invariant}(#t44){(core::int) → core::bool};
-      }
+      #t41.{core::Map::addAll}{Invariant}(#t42{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t41, block {
-    final core::Set<core::int> #t45 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t46 = b;
-    if(!(#t46 == null))
-      for (final has-declared-initializer dynamic #t47 in #t46{core::Iterable<dynamic>}) {
-        final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
-        #t45.{core::Set::add}{Invariant}(#t48){(core::int) → core::bool};
-      }
-  } =>#t45, block {
-    final core::Set<core::int> #t49 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t50 = c;
-    if(!(#t50 == null))
-      for (final has-declared-initializer dynamic #t51 in #t50{core::Iterable<dynamic>}) {
-        final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
-        #t49.{core::Set::add}{Invariant}(#t52){(core::int) → core::bool};
-      }
-  } =>#t49, block {
-    final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t54 = d;
-    if(!(#t54 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t55 in #t54{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::int}, #t55.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-  } =>#t53, block {
-    final core::Set<core::int> #t56 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t43 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t57 = a;
-      if(!(#t57 == null))
-        for (final has-declared-initializer dynamic #t58 in #t57{core::Iterable<dynamic>}) {
-          final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
-          #t56.{core::Set::add}{Invariant}(#t59){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t44 = a;
+      if(!(#t44 == null))
+        for (final has-declared-initializer dynamic #t45 in #t44{core::Iterable<dynamic>}) {
+          final core::int #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::int;
+          #t43.{core::Set::add}{Invariant}(#t46){(core::int) → core::bool};
         }
     }
-  } =>#t56, block {
-    final core::Set<core::int> #t60 = col::LinkedHashSet::•<core::int>();
+  } =>#t43, block {
+    final core::Set<core::int> #t47 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t61 = b;
-      if(!(#t61 == null))
-        for (final has-declared-initializer dynamic #t62 in #t61{core::Iterable<dynamic>}) {
-          final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
-          #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t48 = b;
+      if(!(#t48 == null))
+        for (final has-declared-initializer dynamic #t49 in #t48{core::Iterable<dynamic>}) {
+          final core::int #t50 = #t49 as{TypeError,ForNonNullableByDefault} core::int;
+          #t47.{core::Set::add}{Invariant}(#t50){(core::int) → core::bool};
         }
     }
-  } =>#t60, block {
-    final core::Set<core::int> #t64 = col::LinkedHashSet::•<core::int>();
+  } =>#t47, block {
+    final core::Set<core::int> #t51 = col::LinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t65 = c;
-      if(!(#t65 == null))
-        for (final has-declared-initializer dynamic #t66 in #t65{core::Iterable<dynamic>}) {
-          final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-          #t64.{core::Set::add}{Invariant}(#t67){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t52 = c;
+      if(!(#t52 == null))
+        for (final has-declared-initializer dynamic #t53 in #t52{core::Iterable<dynamic>}) {
+          final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+          #t51.{core::Set::add}{Invariant}(#t54){(core::int) → core::bool};
         }
     }
-  } =>#t64, block {
-    final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
+  } =>#t51, block {
+    final core::Map<core::int, core::int> #t55 = <core::int, core::int>{};
     if(condition) {
-      final core::Map<core::int, core::int>? #t69 = d;
-      if(!(#t69 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t70 in #t69{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}{core::int}, #t70.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      final core::Map<core::int, core::int>? #t56 = d;
+      if(!(#t56 == null))
+        #t55.{core::Map::addAll}{Invariant}(#t56{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t68, block {
-    final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
+  } =>#t55, block {
+    final core::Set<core::int> #t57 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t58 = a;
+      if(!(#t58 == null))
+        for (final has-declared-initializer dynamic #t59 in #t58{core::Iterable<dynamic>}) {
+          final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+          #t57.{core::Set::add}{Invariant}(#t60){(core::int) → core::bool};
+        }
+    }
+  } =>#t57, block {
+    final core::Set<core::int> #t61 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t62 = b;
+      if(!(#t62 == null))
+        for (final has-declared-initializer dynamic #t63 in #t62{core::Iterable<dynamic>}) {
+          final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+          #t61.{core::Set::add}{Invariant}(#t64){(core::int) → core::bool};
+        }
+    }
+  } =>#t61, block {
+    final core::Set<core::int> #t65 = col::LinkedHashSet::•<core::int>();
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t66 = c;
+      if(!(#t66 == null))
+        for (final has-declared-initializer dynamic #t67 in #t66{core::Iterable<dynamic>}) {
+          final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+          #t65.{core::Set::add}{Invariant}(#t68){(core::int) → core::bool};
+        }
+    }
+  } =>#t65, block {
+    final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+    for (dynamic e in iterable) {
+      final core::Map<core::int, core::int>? #t70 = d;
+      if(!(#t70 == null))
+        #t69.{core::Map::addAll}{Invariant}(#t70{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t69, block {
+    final core::Set<core::int> #t71 = col::LinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t72 = a;
       if(!(#t72 == null))
         for (final has-declared-initializer dynamic #t73 in #t72{core::Iterable<dynamic>}) {
@@ -383,7 +397,7 @@
     }
   } =>#t71, block {
     final core::Set<core::int> #t75 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t76 = b;
       if(!(#t76 == null))
         for (final has-declared-initializer dynamic #t77 in #t76{core::Iterable<dynamic>}) {
@@ -393,7 +407,7 @@
     }
   } =>#t75, block {
     final core::Set<core::int> #t79 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Iterable<dynamic>? #t80 = c;
       if(!(#t80 == null))
         for (final has-declared-initializer dynamic #t81 in #t80{core::Iterable<dynamic>}) {
@@ -403,329 +417,265 @@
     }
   } =>#t79, block {
     final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
-    for (dynamic e in iterable) {
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       final core::Map<core::int, core::int>? #t84 = d;
       if(!(#t84 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t85 in #t84{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}{core::int}, #t85.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+        #t83.{core::Map::addAll}{Invariant}(#t84{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t83, block {
-    final core::Set<core::int> #t86 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t87 = a;
-      if(!(#t87 == null))
-        for (final has-declared-initializer dynamic #t88 in #t87{core::Iterable<dynamic>}) {
-          final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
-          #t86.{core::Set::add}{Invariant}(#t89){(core::int) → core::bool};
-        }
-    }
-  } =>#t86, block {
-    final core::Set<core::int> #t90 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t91 = b;
-      if(!(#t91 == null))
-        for (final has-declared-initializer dynamic #t92 in #t91{core::Iterable<dynamic>}) {
-          final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
-          #t90.{core::Set::add}{Invariant}(#t93){(core::int) → core::bool};
-        }
-    }
-  } =>#t90, block {
-    final core::Set<core::int> #t94 = col::LinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t95 = c;
-      if(!(#t95 == null))
-        for (final has-declared-initializer dynamic #t96 in #t95{core::Iterable<dynamic>}) {
-          final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
-          #t94.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
-        }
-    }
-  } =>#t94, block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t99 = d;
-      if(!(#t99 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t100 in #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{core::int}, #t100.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t98];
+  } =>#t83];
 }
 static method bar<X extends core::List<core::int>?, Y extends core::Set<core::int>?, Z extends core::Iterable<core::int>?, W extends core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t101 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t102 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t85 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...x}, // Error.
-        ^") {
-      final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
-      #t101.{core::Set::add}{Invariant}(#t103){(core::int) → core::bool};
-    }
-  } =>#t101, block {
-    final core::Set<core::int> #t104 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t105 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t85, block {
+    final core::Set<core::int> #t86 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...y}, // Error.
-        ^") {
-      final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
-      #t104.{core::Set::add}{Invariant}(#t106){(core::int) → core::bool};
-    }
-  } =>#t104, block {
-    final core::Set<core::int> #t107 = col::LinkedHashSet::•<core::int>();
-    for (final has-declared-initializer dynamic #t108 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t86, block {
+    final core::Set<core::int> #t87 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...z}, // Error.
-        ^") {
-      final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
-      #t107.{core::Set::add}{Invariant}(#t109){(core::int) → core::bool};
-    }
-  } =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t87, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...w}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     <int, int>{...x}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t110 = col::LinkedHashSet::•<core::int>();
-    #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t88 = col::LinkedHashSet::•<core::int>();
+    #t88.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
     <int>{...w}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t110, block {
-    final core::Set<core::int> #t111 = col::LinkedHashSet::•<core::int>();
+  } =>#t88, block {
+    final core::Set<core::int> #t89 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t112 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t90 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...x}, // Error.
                        ^") {
-        final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
-        #t111.{core::Set::add}{Invariant}(#t113){(core::int) → core::bool};
+        final core::int #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int;
+        #t89.{core::Set::add}{Invariant}(#t91){(core::int) → core::bool};
       }
-  } =>#t111, block {
-    final core::Set<core::int> #t114 = col::LinkedHashSet::•<core::int>();
+  } =>#t89, block {
+    final core::Set<core::int> #t92 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t115 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t93 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...y}, // Error.
                        ^") {
-        final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
-        #t114.{core::Set::add}{Invariant}(#t116){(core::int) → core::bool};
+        final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+        #t92.{core::Set::add}{Invariant}(#t94){(core::int) → core::bool};
       }
-  } =>#t114, block {
-    final core::Set<core::int> #t117 = col::LinkedHashSet::•<core::int>();
+  } =>#t92, block {
+    final core::Set<core::int> #t95 = col::LinkedHashSet::•<core::int>();
     if(condition)
-      for (final has-declared-initializer dynamic #t118 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t96 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...z}, // Error.
                        ^") {
-        final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
-        #t117.{core::Set::add}{Invariant}(#t119){(core::int) → core::bool};
+        final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
+        #t95.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
       }
-  } =>#t117, block {
-    final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
+  } =>#t95, block {
+    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
     if(condition)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t98.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...w}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t120, block {
-    final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
+  } =>#t98, block {
+    final core::Set<core::int> #t99 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t122 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t100 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:60:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...x}, // Error.
                                     ^") {
-        final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
-        #t121.{core::Set::add}{Invariant}(#t123){(core::int) → core::bool};
+        final core::int #t101 = #t100 as{TypeError,ForNonNullableByDefault} core::int;
+        #t99.{core::Set::add}{Invariant}(#t101){(core::int) → core::bool};
       }
-  } =>#t121, block {
-    final core::Set<core::int> #t124 = col::LinkedHashSet::•<core::int>();
+  } =>#t99, block {
+    final core::Set<core::int> #t102 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t125 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t103 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:61:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...y}, // Error.
                                     ^") {
-        final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
-        #t124.{core::Set::add}{Invariant}(#t126){(core::int) → core::bool};
+        final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+        #t102.{core::Set::add}{Invariant}(#t104){(core::int) → core::bool};
       }
-  } =>#t124, block {
-    final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
+  } =>#t102, block {
+    final core::Set<core::int> #t105 = col::LinkedHashSet::•<core::int>();
     for (dynamic e in iterable)
-      for (final has-declared-initializer dynamic #t128 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t106 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:62:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...z}, // Error.
                                     ^") {
-        final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
-        #t127.{core::Set::add}{Invariant}(#t129){(core::int) → core::bool};
+        final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+        #t105.{core::Set::add}{Invariant}(#t107){(core::int) → core::bool};
       }
-  } =>#t127, block {
-    final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
+  } =>#t105, block {
+    final core::Map<core::int, core::int> #t108 = <core::int, core::int>{};
     for (dynamic e in iterable)
-      #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t108.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...w}, // Error.
                                     ^", null){(core::int, core::int) → void};
-  } =>#t130, block {
-    final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
+  } =>#t108, block {
+    final core::Set<core::int> #t109 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t132 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t110 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...x}, // Error.
                                      ^") {
-        final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
-        #t131.{core::Set::add}{Invariant}(#t133){(core::int) → core::bool};
+        final core::int #t111 = #t110 as{TypeError,ForNonNullableByDefault} core::int;
+        #t109.{core::Set::add}{Invariant}(#t111){(core::int) → core::bool};
       }
-  } =>#t131, block {
-    final core::Set<core::int> #t134 = col::LinkedHashSet::•<core::int>();
+  } =>#t109, block {
+    final core::Set<core::int> #t112 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t135 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t113 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...y}, // Error.
                                      ^") {
-        final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
-        #t134.{core::Set::add}{Invariant}(#t136){(core::int) → core::bool};
+        final core::int #t114 = #t113 as{TypeError,ForNonNullableByDefault} core::int;
+        #t112.{core::Set::add}{Invariant}(#t114){(core::int) → core::bool};
       }
-  } =>#t134, block {
-    final core::Set<core::int> #t137 = col::LinkedHashSet::•<core::int>();
+  } =>#t112, block {
+    final core::Set<core::int> #t115 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer dynamic #t138 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      for (final has-declared-initializer dynamic #t116 in invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...z}, // Error.
                                      ^") {
-        final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
-        #t137.{core::Set::add}{Invariant}(#t139){(core::int) → core::bool};
+        final core::int #t117 = #t116 as{TypeError,ForNonNullableByDefault} core::int;
+        #t115.{core::Set::add}{Invariant}(#t117){(core::int) → core::bool};
       }
-  } =>#t137, block {
-    final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
+  } =>#t115, block {
+    final core::Map<core::int, core::int> #t118 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t118.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...w}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t140, block {
+  } =>#t118, block {
+    final core::Set<core::int> #t119 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t120 = x;
+    if(!(#t120 == null))
+      #t119.{core::Set::addAll}{Invariant}(#t120{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t119, block {
+    final core::Set<core::int> #t121 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t122 = y;
+    if(!(#t122 == null))
+      #t121.{core::Set::addAll}{Invariant}(#t122{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t121, block {
+    final core::Set<core::int> #t123 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t124 = z;
+    if(!(#t124 == null))
+      #t123.{core::Set::addAll}{Invariant}(#t124{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t123, block {
+    final core::Map<core::int, core::int> #t125 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t126 = w;
+    if(!(#t126 == null))
+      #t125.{core::Map::addAll}{Invariant}(#t126{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t125, block {
+    final core::Set<core::int> #t127 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t128 = x;
+      if(!(#t128 == null))
+        for (final has-declared-initializer dynamic #t129 in #t128{core::Iterable<dynamic>}) {
+          final core::int #t130 = #t129 as{TypeError,ForNonNullableByDefault} core::int;
+          #t127.{core::Set::add}{Invariant}(#t130){(core::int) → core::bool};
+        }
+    }
+  } =>#t127, block {
+    final core::Set<core::int> #t131 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t132 = y;
+      if(!(#t132 == null))
+        for (final has-declared-initializer dynamic #t133 in #t132{core::Iterable<dynamic>}) {
+          final core::int #t134 = #t133 as{TypeError,ForNonNullableByDefault} core::int;
+          #t131.{core::Set::add}{Invariant}(#t134){(core::int) → core::bool};
+        }
+    }
+  } =>#t131, block {
+    final core::Set<core::int> #t135 = col::LinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t136 = z;
+      if(!(#t136 == null))
+        for (final has-declared-initializer dynamic #t137 in #t136{core::Iterable<dynamic>}) {
+          final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+          #t135.{core::Set::add}{Invariant}(#t138){(core::int) → core::bool};
+        }
+    }
+  } =>#t135, block {
+    final core::Map<core::int, core::int> #t139 = <core::int, core::int>{};
+    if(condition) {
+      final core::Map<core::int, core::int>? #t140 = w;
+      if(!(#t140 == null))
+        #t139.{core::Map::addAll}{Invariant}(#t140{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t139, block {
     final core::Set<core::int> #t141 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t142 = x;
-    if(!(#t142 == null))
-      for (final has-declared-initializer dynamic #t143 in #t142{core::Iterable<dynamic>}) {
-        final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
-        #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t142 = x;
+      if(!(#t142 == null))
+        for (final has-declared-initializer dynamic #t143 in #t142{core::Iterable<dynamic>}) {
+          final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
+          #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
+        }
+    }
   } =>#t141, block {
     final core::Set<core::int> #t145 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t146 = y;
-    if(!(#t146 == null))
-      for (final has-declared-initializer dynamic #t147 in #t146{core::Iterable<dynamic>}) {
-        final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
-        #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t146 = y;
+      if(!(#t146 == null))
+        for (final has-declared-initializer dynamic #t147 in #t146{core::Iterable<dynamic>}) {
+          final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
+          #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
+        }
+    }
   } =>#t145, block {
     final core::Set<core::int> #t149 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t150 = z;
-    if(!(#t150 == null))
-      for (final has-declared-initializer dynamic #t151 in #t150{core::Iterable<dynamic>}) {
-        final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
-        #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
-      }
+    for (dynamic e in iterable) {
+      final core::Iterable<dynamic>? #t150 = z;
+      if(!(#t150 == null))
+        for (final has-declared-initializer dynamic #t151 in #t150{core::Iterable<dynamic>}) {
+          final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
+          #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
+        }
+    }
   } =>#t149, block {
     final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t154 = w;
-    if(!(#t154 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t155 in #t154{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}{core::int}, #t155.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+    for (dynamic e in iterable) {
+      final core::Map<core::int, core::int>? #t154 = w;
+      if(!(#t154 == null))
+        #t153.{core::Map::addAll}{Invariant}(#t154{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
   } =>#t153, block {
-    final core::Set<core::int> #t156 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t157 = x;
-      if(!(#t157 == null))
-        for (final has-declared-initializer dynamic #t158 in #t157{core::Iterable<dynamic>}) {
-          final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
-          #t156.{core::Set::add}{Invariant}(#t159){(core::int) → core::bool};
-        }
-    }
-  } =>#t156, block {
-    final core::Set<core::int> #t160 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t161 = y;
-      if(!(#t161 == null))
-        for (final has-declared-initializer dynamic #t162 in #t161{core::Iterable<dynamic>}) {
-          final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
-          #t160.{core::Set::add}{Invariant}(#t163){(core::int) → core::bool};
-        }
-    }
-  } =>#t160, block {
-    final core::Set<core::int> #t164 = col::LinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t165 = z;
-      if(!(#t165 == null))
-        for (final has-declared-initializer dynamic #t166 in #t165{core::Iterable<dynamic>}) {
-          final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
-          #t164.{core::Set::add}{Invariant}(#t167){(core::int) → core::bool};
-        }
-    }
-  } =>#t164, block {
-    final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
-    if(condition) {
-      final core::Map<core::int, core::int>? #t169 = w;
-      if(!(#t169 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t170 in #t169{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::int}, #t170.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t168, block {
-    final core::Set<core::int> #t171 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t172 = x;
-      if(!(#t172 == null))
-        for (final has-declared-initializer dynamic #t173 in #t172{core::Iterable<dynamic>}) {
-          final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
-          #t171.{core::Set::add}{Invariant}(#t174){(core::int) → core::bool};
-        }
-    }
-  } =>#t171, block {
-    final core::Set<core::int> #t175 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t176 = y;
-      if(!(#t176 == null))
-        for (final has-declared-initializer dynamic #t177 in #t176{core::Iterable<dynamic>}) {
-          final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
-          #t175.{core::Set::add}{Invariant}(#t178){(core::int) → core::bool};
-        }
-    }
-  } =>#t175, block {
-    final core::Set<core::int> #t179 = col::LinkedHashSet::•<core::int>();
-    for (dynamic e in iterable) {
-      final core::Iterable<dynamic>? #t180 = z;
-      if(!(#t180 == null))
-        for (final has-declared-initializer dynamic #t181 in #t180{core::Iterable<dynamic>}) {
-          final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
-          #t179.{core::Set::add}{Invariant}(#t182){(core::int) → core::bool};
-        }
-    }
-  } =>#t179, block {
-    final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
-    for (dynamic e in iterable) {
-      final core::Map<core::int, core::int>? #t184 = w;
-      if(!(#t184 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t185 in #t184{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}{core::int}, #t185.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    }
-  } =>#t183, block {
-    final core::Set<core::int> #t186 = col::LinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t155 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t187 = x;
-      if(!(#t187 == null))
-        for (final has-declared-initializer dynamic #t188 in #t187{core::Iterable<dynamic>}) {
-          final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
-          #t186.{core::Set::add}{Invariant}(#t189){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t156 = x;
+      if(!(#t156 == null))
+        for (final has-declared-initializer dynamic #t157 in #t156{core::Iterable<dynamic>}) {
+          final core::int #t158 = #t157 as{TypeError,ForNonNullableByDefault} core::int;
+          #t155.{core::Set::add}{Invariant}(#t158){(core::int) → core::bool};
         }
     }
-  } =>#t186, block {
-    final core::Set<core::int> #t190 = col::LinkedHashSet::•<core::int>();
+  } =>#t155, block {
+    final core::Set<core::int> #t159 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t191 = y;
-      if(!(#t191 == null))
-        for (final has-declared-initializer dynamic #t192 in #t191{core::Iterable<dynamic>}) {
-          final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
-          #t190.{core::Set::add}{Invariant}(#t193){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t160 = y;
+      if(!(#t160 == null))
+        for (final has-declared-initializer dynamic #t161 in #t160{core::Iterable<dynamic>}) {
+          final core::int #t162 = #t161 as{TypeError,ForNonNullableByDefault} core::int;
+          #t159.{core::Set::add}{Invariant}(#t162){(core::int) → core::bool};
         }
     }
-  } =>#t190, block {
-    final core::Set<core::int> #t194 = col::LinkedHashSet::•<core::int>();
+  } =>#t159, block {
+    final core::Set<core::int> #t163 = col::LinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t195 = z;
-      if(!(#t195 == null))
-        for (final has-declared-initializer dynamic #t196 in #t195{core::Iterable<dynamic>}) {
-          final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
-          #t194.{core::Set::add}{Invariant}(#t197){(core::int) → core::bool};
+      final core::Iterable<dynamic>? #t164 = z;
+      if(!(#t164 == null))
+        for (final has-declared-initializer dynamic #t165 in #t164{core::Iterable<dynamic>}) {
+          final core::int #t166 = #t165 as{TypeError,ForNonNullableByDefault} core::int;
+          #t163.{core::Set::add}{Invariant}(#t166){(core::int) → core::bool};
         }
     }
-  } =>#t194, block {
-    final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
+  } =>#t163, block {
+    final core::Map<core::int, core::int> #t167 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t199 = w;
-      if(!(#t199 == null))
-        for (final has-declared-initializer core::MapEntry<core::int, core::int> #t200 in #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-          #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}{core::int}, #t200.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      final core::Map<core::int, core::int>? #t168 = w;
+      if(!(#t168 == null))
+        #t167.{core::Map::addAll}{Invariant}(#t168{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t198];
+  } =>#t167];
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
index 3b3d749..80cf8ea 100644
--- a/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue43495.dart.weak.transformed.expect
@@ -170,65 +170,63 @@
 
 static method foo(core::bool condition, core::Iterable<dynamic> iterable, core::List<core::int>? a, core::Set<core::int>? b, core::Iterable<core::int>? c, core::Map<core::int, core::int>? d) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t1 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t1 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:8:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...a}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t3 = #t2 as{TypeError,ForNonNullableByDefault} core::int;
-          #t1.{core::Set::add}{Invariant}(#t3){(core::int) → core::bool};
-        }
-      }
-    }
+        ^");
   } =>#t1, block {
-    final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t2 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:9:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...b}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t5 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t6 = #t5 as{TypeError,ForNonNullableByDefault} core::int;
-          #t4.{core::Set::add}{Invariant}(#t6){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t4, block {
-    final core::Set<core::int> #t7 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t2, block {
+    final core::Set<core::int> #t3 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:10:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...c}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t8 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t9 = #t8 as{TypeError,ForNonNullableByDefault} core::int;
-          #t7.{core::Set::add}{Invariant}(#t9){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t7, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t3, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:11:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...d}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:12:19: Error: Unexpected type 'List<int>?' of a map spread entry.  Expected 'dynamic' or a Map.
  - 'List' is from 'dart:core'.
     <int, int>{...a}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t10 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t10.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t4 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t4.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:13:14: Error: Unexpected type 'Map<int, int>?' of a spread.  Expected 'dynamic' or an Iterable.
  - 'Map' is from 'dart:core'.
     <int>{...d}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t10, block {
-    final core::Set<core::int> #t11 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t4, block {
+    final core::Set<core::int> #t5 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:14:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...a}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t6 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t7 = #t6 as{TypeError,ForNonNullableByDefault} core::int;
+          #t5.{core::Set::add}{Invariant}(#t7){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t5, block {
+    final core::Set<core::int> #t8 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...b}, // Error.
+                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::int;
+          #t8.{core::Set::add}{Invariant}(#t10){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t8, block {
+    final core::Set<core::int> #t11 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {if (condition) ...c}, // Error.
+                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t12 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
           final core::int #t13 = #t12 as{TypeError,ForNonNullableByDefault} core::int;
@@ -237,41 +235,13 @@
       }
     }
   } =>#t11, block {
-    final core::Set<core::int> #t14 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:15:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...b}, // Error.
-                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t15 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t16 = #t15 as{TypeError,ForNonNullableByDefault} core::int;
-          #t14.{core::Set::add}{Invariant}(#t16){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t14, block {
-    final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:16:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {if (condition) ...c}, // Error.
-                       ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
-          #t17.{core::Set::add}{Invariant}(#t19){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t17, block {
-    final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t14 = <core::int, core::int>{};
     if(condition)
-      #t20.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t14.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:17:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...d}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t20, block {
-    final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t14, block {
+    final core::Set<core::int> #t15 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -281,6 +251,46 @@
     {for (dynamic e in iterable) ...a}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+            final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{Never};
+            {
+              final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+              #t15.{core::Set::add}{Invariant}(#t17){(core::int) → core::bool};
+            }
+          }
+        }
+      }
+    }
+  } =>#t15, block {
+    final core::Set<core::int> #t18 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...b}, // Error.
+                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
+          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+            final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{Never};
+            {
+              final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
+              #t18.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
+            }
+          }
+        }
+      }
+    }
+  } =>#t18, block {
+    final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (dynamic e in iterable) ...c}, // Error.
+                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
+          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
             final dynamic #t22 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
               final core::int #t23 = #t22 as{TypeError,ForNonNullableByDefault} core::int;
@@ -291,63 +301,51 @@
       }
     }
   } =>#t21, block {
-    final core::Set<core::int> #t24 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Map<core::int, core::int> #t24 = <core::int, core::int>{};
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:19:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...b}, // Error.
-                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
-          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t25 = :sync-for-iterator.{core::Iterator::current}{Never};
-            {
-              final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
-              #t24.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
-            }
-          }
-        }
-      }
-    }
-  } =>#t24, block {
-    final core::Set<core::int> #t27 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:20:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (dynamic e in iterable) ...c}, // Error.
-                                    ^".{core::Iterable::iterator}{core::Iterator<Never>};
-          for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t28 = :sync-for-iterator.{core::Iterator::current}{Never};
-            {
-              final core::int #t29 = #t28 as{TypeError,ForNonNullableByDefault} core::int;
-              #t27.{core::Set::add}{Invariant}(#t29){(core::int) → core::bool};
-            }
-          }
-        }
-      }
-    }
-  } =>#t27, block {
-    final core::Map<core::int, core::int> #t30 = <core::int, core::int>{};
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t30.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        #t24.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:21:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...d}, // Error.
                                     ^", null){(core::int, core::int) → void};
       }
     }
-  } =>#t30, block {
-    final core::Set<core::int> #t31 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t24, block {
+    final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:22:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...a}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t26 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+          #t25.{core::Set::add}{Invariant}(#t27){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t25, block {
+    final core::Set<core::int> #t28 = new col::_CompactLinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...b}, // Error.
+                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t29 = :sync-for-iterator.{core::Iterator::current}{Never};
+        {
+          final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+          #t28.{core::Set::add}{Invariant}(#t30){(core::int) → core::bool};
+        }
+      }
+    }
+  } =>#t28, block {
+    final core::Set<core::int> #t31 = new col::_CompactLinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    {for (int i = 0; i < 42; ++i) ...c}, // Error.
+                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
           final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
@@ -356,387 +354,285 @@
       }
     }
   } =>#t31, block {
-    final core::Set<core::int> #t34 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:23:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...b}, // Error.
-                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t35 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::int;
-          #t34.{core::Set::add}{Invariant}(#t36){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t34, block {
-    final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:24:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
-    {for (int i = 0; i < 42; ++i) ...c}, // Error.
-                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
-          #t37.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t37, block {
-    final core::Map<core::int, core::int> #t40 = <core::int, core::int>{};
+    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t40.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t34.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:25:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...d}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t40, block {
-    final core::Set<core::int> #t41 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t42 = a;
-    if(!(#t42 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t42{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t43 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t44 = #t43 as{TypeError,ForNonNullableByDefault} core::int;
-          #t41.{core::Set::add}{Invariant}(#t44){(core::int) → core::bool};
-        }
-      }
-    }
+  } =>#t34, block {
+    final core::Set<core::int> #t35 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t36 = a;
+    if(!(#t36 == null))
+      #t35.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t35, block {
+    final core::Set<core::int> #t37 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t38 = b;
+    if(!(#t38 == null))
+      #t37.{core::Set::addAll}{Invariant}(#t38{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t37, block {
+    final core::Set<core::int> #t39 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t40 = c;
+    if(!(#t40 == null))
+      #t39.{core::Set::addAll}{Invariant}(#t40{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t39, block {
+    final core::Map<core::int, core::int> #t41 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t42 = d;
+    if(!(#t42 == null))
+      #t41.{core::Map::addAll}{Invariant}(#t42{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
   } =>#t41, block {
-    final core::Set<core::int> #t45 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t46 = b;
-    if(!(#t46 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t46{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t47 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t48 = #t47 as{TypeError,ForNonNullableByDefault} core::int;
-          #t45.{core::Set::add}{Invariant}(#t48){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t45, block {
-    final core::Set<core::int> #t49 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t50 = c;
-    if(!(#t50 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t50{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t51 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t52 = #t51 as{TypeError,ForNonNullableByDefault} core::int;
-          #t49.{core::Set::add}{Invariant}(#t52){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t49, block {
-    final core::Map<core::int, core::int> #t53 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t54 = d;
-    if(!(#t54 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t54{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t53.{core::Map::[]=}{Invariant}(#t55.{core::MapEntry::key}{core::int}, #t55.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-  } =>#t53, block {
-    final core::Set<core::int> #t56 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t43 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t57 = a;
-      if(!(#t57 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t57{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t44 = a;
+      if(!(#t44 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t44{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t45 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t59 = #t58 as{TypeError,ForNonNullableByDefault} core::int;
-            #t56.{core::Set::add}{Invariant}(#t59){(core::int) → core::bool};
+            final core::int #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::int;
+            #t43.{core::Set::add}{Invariant}(#t46){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t56, block {
-    final core::Set<core::int> #t60 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t43, block {
+    final core::Set<core::int> #t47 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t61 = b;
-      if(!(#t61 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t48 = b;
+      if(!(#t48 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t48{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t62 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t49 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
-            #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+            final core::int #t50 = #t49 as{TypeError,ForNonNullableByDefault} core::int;
+            #t47.{core::Set::add}{Invariant}(#t50){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t60, block {
-    final core::Set<core::int> #t64 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t47, block {
+    final core::Set<core::int> #t51 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
-      final core::Iterable<dynamic>? #t65 = c;
-      if(!(#t65 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t65{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t52 = c;
+      if(!(#t52 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t52{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t53 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t67 = #t66 as{TypeError,ForNonNullableByDefault} core::int;
-            #t64.{core::Set::add}{Invariant}(#t67){(core::int) → core::bool};
+            final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+            #t51.{core::Set::add}{Invariant}(#t54){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t64, block {
-    final core::Map<core::int, core::int> #t68 = <core::int, core::int>{};
+  } =>#t51, block {
+    final core::Map<core::int, core::int> #t55 = <core::int, core::int>{};
     if(condition) {
-      final core::Map<core::int, core::int>? #t69 = d;
-      if(!(#t69 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t69{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t70 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t68.{core::Map::[]=}{Invariant}(#t70.{core::MapEntry::key}{core::int}, #t70.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
+      final core::Map<core::int, core::int>? #t56 = d;
+      if(!(#t56 == null))
+        #t55.{core::Map::addAll}{Invariant}(#t56{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t68, block {
-    final core::Set<core::int> #t71 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t55, block {
+    final core::Set<core::int> #t57 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::Iterable<dynamic>? #t72 = a;
-          if(!(#t72 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+          final core::Iterable<dynamic>? #t58 = a;
+          if(!(#t58 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t58{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
             for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              final dynamic #t59 = :sync-for-iterator.{core::Iterator::current}{dynamic};
               {
-                final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
-                #t71.{core::Set::add}{Invariant}(#t74){(core::int) → core::bool};
+                final core::int #t60 = #t59 as{TypeError,ForNonNullableByDefault} core::int;
+                #t57.{core::Set::add}{Invariant}(#t60){(core::int) → core::bool};
               }
             }
           }
         }
       }
     }
+  } =>#t57, block {
+    final core::Set<core::int> #t61 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Iterable<dynamic>? #t62 = b;
+          if(!(#t62 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t62{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t63 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t64 = #t63 as{TypeError,ForNonNullableByDefault} core::int;
+                #t61.{core::Set::add}{Invariant}(#t64){(core::int) → core::bool};
+              }
+            }
+          }
+        }
+      }
+    }
+  } =>#t61, block {
+    final core::Set<core::int> #t65 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Iterable<dynamic>? #t66 = c;
+          if(!(#t66 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t66{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t67 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t68 = #t67 as{TypeError,ForNonNullableByDefault} core::int;
+                #t65.{core::Set::add}{Invariant}(#t68){(core::int) → core::bool};
+              }
+            }
+          }
+        }
+      }
+    }
+  } =>#t65, block {
+    final core::Map<core::int, core::int> #t69 = <core::int, core::int>{};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Map<core::int, core::int>? #t70 = d;
+          if(!(#t70 == null))
+            #t69.{core::Map::addAll}{Invariant}(#t70{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+        }
+      }
+    }
+  } =>#t69, block {
+    final core::Set<core::int> #t71 = new col::_CompactLinkedHashSet::•<core::int>();
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      final core::Iterable<dynamic>? #t72 = a;
+      if(!(#t72 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t72{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t73 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t74 = #t73 as{TypeError,ForNonNullableByDefault} core::int;
+            #t71.{core::Set::add}{Invariant}(#t74){(core::int) → core::bool};
+          }
+        }
+      }
+    }
   } =>#t71, block {
     final core::Set<core::int> #t75 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t76 = b;
-          if(!(#t76 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t77 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
-                #t75.{core::Set::add}{Invariant}(#t78){(core::int) → core::bool};
-              }
-            }
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      final core::Iterable<dynamic>? #t76 = b;
+      if(!(#t76 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t76{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t77 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t78 = #t77 as{TypeError,ForNonNullableByDefault} core::int;
+            #t75.{core::Set::add}{Invariant}(#t78){(core::int) → core::bool};
           }
         }
       }
     }
   } =>#t75, block {
     final core::Set<core::int> #t79 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t80 = c;
-          if(!(#t80 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t81 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
-                #t79.{core::Set::add}{Invariant}(#t82){(core::int) → core::bool};
-              }
-            }
+    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
+      final core::Iterable<dynamic>? #t80 = c;
+      if(!(#t80 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t80{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t81 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t82 = #t81 as{TypeError,ForNonNullableByDefault} core::int;
+            #t79.{core::Set::add}{Invariant}(#t82){(core::int) → core::bool};
           }
         }
       }
     }
   } =>#t79, block {
     final core::Map<core::int, core::int> #t83 = <core::int, core::int>{};
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Map<core::int, core::int>? #t84 = d;
-          if(!(#t84 == null)) {
-            core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t84{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final core::MapEntry<core::int, core::int> #t85 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-              #t83.{core::Map::[]=}{Invariant}(#t85.{core::MapEntry::key}{core::int}, #t85.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-            }
-          }
-        }
-      }
-    }
-  } =>#t83, block {
-    final core::Set<core::int> #t86 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t87 = a;
-      if(!(#t87 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t87{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t88 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t89 = #t88 as{TypeError,ForNonNullableByDefault} core::int;
-            #t86.{core::Set::add}{Invariant}(#t89){(core::int) → core::bool};
-          }
-        }
-      }
+      final core::Map<core::int, core::int>? #t84 = d;
+      if(!(#t84 == null))
+        #t83.{core::Map::addAll}{Invariant}(#t84{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t86, block {
-    final core::Set<core::int> #t90 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t91 = b;
-      if(!(#t91 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t91{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t92 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t93 = #t92 as{TypeError,ForNonNullableByDefault} core::int;
-            #t90.{core::Set::add}{Invariant}(#t93){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t90, block {
-    final core::Set<core::int> #t94 = new col::_CompactLinkedHashSet::•<core::int>();
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t95 = c;
-      if(!(#t95 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t95{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t96 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
-            #t94.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t94, block {
-    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
-    for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t99 = d;
-      if(!(#t99 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t99{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t100 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t98.{core::Map::[]=}{Invariant}(#t100.{core::MapEntry::key}{core::int}, #t100.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
-    }
-  } =>#t98];
+  } =>#t83];
 }
 static method bar<X extends core::List<core::int>?, Y extends core::Set<core::int>?, Z extends core::Iterable<core::int>?, W extends core::Map<core::int, core::int>?>(core::bool condition, core::Iterable<dynamic> iterable, self::bar::X% x, self::bar::Y% y, self::bar::Z% z, self::bar::W% w) → dynamic {
   return <core::Object>[ block {
-    final core::Set<core::int> #t101 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+    final core::Set<core::int> #t85 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:50:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...x}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t102 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t103 = #t102 as{TypeError,ForNonNullableByDefault} core::int;
-          #t101.{core::Set::add}{Invariant}(#t103){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t101, block {
-    final core::Set<core::int> #t104 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t85, block {
+    final core::Set<core::int> #t86 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:51:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...y}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t105 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t106 = #t105 as{TypeError,ForNonNullableByDefault} core::int;
-          #t104.{core::Set::add}{Invariant}(#t106){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t104, block {
-    final core::Set<core::int> #t107 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t86, block {
+    final core::Set<core::int> #t87 = col::LinkedHashSet::of<core::int>(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:52:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...z}, // Error.
-        ^".{core::Iterable::iterator}{core::Iterator<Never>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t108 = :sync-for-iterator.{core::Iterator::current}{Never};
-        {
-          final core::int #t109 = #t108 as{TypeError,ForNonNullableByDefault} core::int;
-          #t107.{core::Set::add}{Invariant}(#t109){(core::int) → core::bool};
-        }
-      }
-    }
-  } =>#t107, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        ^");
+  } =>#t87, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:53:9: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {...w}, // Error.
         ^": null}, <core::int, core::int>{invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:54:19: Error: Unexpected type 'X' of a map spread entry.  Expected 'dynamic' or a Map.
     <int, int>{...x}, // Error.
                   ^": null}, block {
-    final core::Set<core::int> #t110 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t110.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
+    final core::Set<core::int> #t88 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t88.{core::Set::add}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:55:14: Error: Unexpected type 'W' of a spread.  Expected 'dynamic' or an Iterable.
     <int>{...w}, // Error.
              ^"){(core::int) → core::bool};
-  } =>#t110, block {
-    final core::Set<core::int> #t111 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t88, block {
+    final core::Set<core::int> #t89 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:56:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...x}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t112 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t90 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t113 = #t112 as{TypeError,ForNonNullableByDefault} core::int;
-          #t111.{core::Set::add}{Invariant}(#t113){(core::int) → core::bool};
+          final core::int #t91 = #t90 as{TypeError,ForNonNullableByDefault} core::int;
+          #t89.{core::Set::add}{Invariant}(#t91){(core::int) → core::bool};
         }
       }
     }
-  } =>#t111, block {
-    final core::Set<core::int> #t114 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t89, block {
+    final core::Set<core::int> #t92 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:57:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...y}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t115 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t93 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t116 = #t115 as{TypeError,ForNonNullableByDefault} core::int;
-          #t114.{core::Set::add}{Invariant}(#t116){(core::int) → core::bool};
+          final core::int #t94 = #t93 as{TypeError,ForNonNullableByDefault} core::int;
+          #t92.{core::Set::add}{Invariant}(#t94){(core::int) → core::bool};
         }
       }
     }
-  } =>#t114, block {
-    final core::Set<core::int> #t117 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t92, block {
+    final core::Set<core::int> #t95 = new col::_CompactLinkedHashSet::•<core::int>();
     if(condition) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:58:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...z}, // Error.
                        ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t118 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t96 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t119 = #t118 as{TypeError,ForNonNullableByDefault} core::int;
-          #t117.{core::Set::add}{Invariant}(#t119){(core::int) → core::bool};
+          final core::int #t97 = #t96 as{TypeError,ForNonNullableByDefault} core::int;
+          #t95.{core::Set::add}{Invariant}(#t97){(core::int) → core::bool};
         }
       }
     }
-  } =>#t117, block {
-    final core::Map<core::int, core::int> #t120 = <core::int, core::int>{};
+  } =>#t95, block {
+    final core::Map<core::int, core::int> #t98 = <core::int, core::int>{};
     if(condition)
-      #t120.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t98.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:59:24: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {if (condition) ...w}, // Error.
                        ^", null){(core::int, core::int) → void};
-  } =>#t120, block {
-    final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t98, block {
+    final core::Set<core::int> #t99 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -746,17 +642,17 @@
     {for (dynamic e in iterable) ...x}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t122 = :sync-for-iterator.{core::Iterator::current}{Never};
+            final dynamic #t100 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
-              final core::int #t123 = #t122 as{TypeError,ForNonNullableByDefault} core::int;
-              #t121.{core::Set::add}{Invariant}(#t123){(core::int) → core::bool};
+              final core::int #t101 = #t100 as{TypeError,ForNonNullableByDefault} core::int;
+              #t99.{core::Set::add}{Invariant}(#t101){(core::int) → core::bool};
             }
           }
         }
       }
     }
-  } =>#t121, block {
-    final core::Set<core::int> #t124 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t99, block {
+    final core::Set<core::int> #t102 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -766,17 +662,17 @@
     {for (dynamic e in iterable) ...y}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t125 = :sync-for-iterator.{core::Iterator::current}{Never};
+            final dynamic #t103 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
-              final core::int #t126 = #t125 as{TypeError,ForNonNullableByDefault} core::int;
-              #t124.{core::Set::add}{Invariant}(#t126){(core::int) → core::bool};
+              final core::int #t104 = #t103 as{TypeError,ForNonNullableByDefault} core::int;
+              #t102.{core::Set::add}{Invariant}(#t104){(core::int) → core::bool};
             }
           }
         }
       }
     }
-  } =>#t124, block {
-    final core::Set<core::int> #t127 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t102, block {
+    final core::Set<core::int> #t105 = new col::_CompactLinkedHashSet::•<core::int>();
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
@@ -786,318 +682,274 @@
     {for (dynamic e in iterable) ...z}, // Error.
                                     ^".{core::Iterable::iterator}{core::Iterator<Never>};
           for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-            final dynamic #t128 = :sync-for-iterator.{core::Iterator::current}{Never};
+            final dynamic #t106 = :sync-for-iterator.{core::Iterator::current}{Never};
             {
-              final core::int #t129 = #t128 as{TypeError,ForNonNullableByDefault} core::int;
-              #t127.{core::Set::add}{Invariant}(#t129){(core::int) → core::bool};
+              final core::int #t107 = #t106 as{TypeError,ForNonNullableByDefault} core::int;
+              #t105.{core::Set::add}{Invariant}(#t107){(core::int) → core::bool};
             }
           }
         }
       }
     }
-  } =>#t127, block {
-    final core::Map<core::int, core::int> #t130 = <core::int, core::int>{};
+  } =>#t105, block {
+    final core::Map<core::int, core::int> #t108 = <core::int, core::int>{};
     {
       core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        #t130.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+        #t108.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:63:37: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (dynamic e in iterable) ...w}, // Error.
                                     ^", null){(core::int, core::int) → void};
       }
     }
-  } =>#t130, block {
-    final core::Set<core::int> #t131 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t108, block {
+    final core::Set<core::int> #t109 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:64:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...x}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t132 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t110 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t133 = #t132 as{TypeError,ForNonNullableByDefault} core::int;
-          #t131.{core::Set::add}{Invariant}(#t133){(core::int) → core::bool};
+          final core::int #t111 = #t110 as{TypeError,ForNonNullableByDefault} core::int;
+          #t109.{core::Set::add}{Invariant}(#t111){(core::int) → core::bool};
         }
       }
     }
-  } =>#t131, block {
-    final core::Set<core::int> #t134 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t109, block {
+    final core::Set<core::int> #t112 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:65:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...y}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t135 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t113 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t136 = #t135 as{TypeError,ForNonNullableByDefault} core::int;
-          #t134.{core::Set::add}{Invariant}(#t136){(core::int) → core::bool};
+          final core::int #t114 = #t113 as{TypeError,ForNonNullableByDefault} core::int;
+          #t112.{core::Set::add}{Invariant}(#t114){(core::int) → core::bool};
         }
       }
     }
-  } =>#t134, block {
-    final core::Set<core::int> #t137 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t112, block {
+    final core::Set<core::int> #t115 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
       core::Iterator<Never> :sync-for-iterator = invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:66:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...z}, // Error.
                                      ^".{core::Iterable::iterator}{core::Iterator<Never>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t138 = :sync-for-iterator.{core::Iterator::current}{Never};
+        final dynamic #t116 = :sync-for-iterator.{core::Iterator::current}{Never};
         {
-          final core::int #t139 = #t138 as{TypeError,ForNonNullableByDefault} core::int;
-          #t137.{core::Set::add}{Invariant}(#t139){(core::int) → core::bool};
+          final core::int #t117 = #t116 as{TypeError,ForNonNullableByDefault} core::int;
+          #t115.{core::Set::add}{Invariant}(#t117){(core::int) → core::bool};
         }
       }
     }
-  } =>#t137, block {
-    final core::Map<core::int, core::int> #t140 = <core::int, core::int>{};
+  } =>#t115, block {
+    final core::Map<core::int, core::int> #t118 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t140.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
+      #t118.{core::Map::[]=}{Invariant}(invalid-expression "pkg/front_end/testcases/nnbd/issue43495.dart:67:38: Error: An expression whose value can be 'null' must be null-checked before it can be dereferenced.
     {for (int i = 0; i < 42; ++i) ...w}, // Error.
                                      ^", null){(core::int, core::int) → void};
-  } =>#t140, block {
+  } =>#t118, block {
+    final core::Set<core::int> #t119 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t120 = x;
+    if(!(#t120 == null))
+      #t119.{core::Set::addAll}{Invariant}(#t120{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t119, block {
+    final core::Set<core::int> #t121 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t122 = y;
+    if(!(#t122 == null))
+      #t121.{core::Set::addAll}{Invariant}(#t122{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t121, block {
+    final core::Set<core::int> #t123 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<core::int>? #t124 = z;
+    if(!(#t124 == null))
+      #t123.{core::Set::addAll}{Invariant}(#t124{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t123, block {
+    final core::Map<core::int, core::int> #t125 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t126 = w;
+    if(!(#t126 == null))
+      #t125.{core::Map::addAll}{Invariant}(#t126{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t125, block {
+    final core::Set<core::int> #t127 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t128 = x;
+      if(!(#t128 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t128{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t129 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t130 = #t129 as{TypeError,ForNonNullableByDefault} core::int;
+            #t127.{core::Set::add}{Invariant}(#t130){(core::int) → core::bool};
+          }
+        }
+      }
+    }
+  } =>#t127, block {
+    final core::Set<core::int> #t131 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t132 = y;
+      if(!(#t132 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t132{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t133 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t134 = #t133 as{TypeError,ForNonNullableByDefault} core::int;
+            #t131.{core::Set::add}{Invariant}(#t134){(core::int) → core::bool};
+          }
+        }
+      }
+    }
+  } =>#t131, block {
+    final core::Set<core::int> #t135 = new col::_CompactLinkedHashSet::•<core::int>();
+    if(condition) {
+      final core::Iterable<dynamic>? #t136 = z;
+      if(!(#t136 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t136{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+          final dynamic #t137 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          {
+            final core::int #t138 = #t137 as{TypeError,ForNonNullableByDefault} core::int;
+            #t135.{core::Set::add}{Invariant}(#t138){(core::int) → core::bool};
+          }
+        }
+      }
+    }
+  } =>#t135, block {
+    final core::Map<core::int, core::int> #t139 = <core::int, core::int>{};
+    if(condition) {
+      final core::Map<core::int, core::int>? #t140 = w;
+      if(!(#t140 == null))
+        #t139.{core::Map::addAll}{Invariant}(#t140{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    }
+  } =>#t139, block {
     final core::Set<core::int> #t141 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t142 = x;
-    if(!(#t142 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t143 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
-          #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
+          final core::Iterable<dynamic>? #t142 = x;
+          if(!(#t142 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t142{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t143 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t144 = #t143 as{TypeError,ForNonNullableByDefault} core::int;
+                #t141.{core::Set::add}{Invariant}(#t144){(core::int) → core::bool};
+              }
+            }
+          }
         }
       }
     }
   } =>#t141, block {
     final core::Set<core::int> #t145 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t146 = y;
-    if(!(#t146 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t147 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
-          #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
+          final core::Iterable<dynamic>? #t146 = y;
+          if(!(#t146 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t146{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t147 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t148 = #t147 as{TypeError,ForNonNullableByDefault} core::int;
+                #t145.{core::Set::add}{Invariant}(#t148){(core::int) → core::bool};
+              }
+            }
+          }
         }
       }
     }
   } =>#t145, block {
     final core::Set<core::int> #t149 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t150 = z;
-    if(!(#t150 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t151 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
-          #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
+          final core::Iterable<dynamic>? #t150 = z;
+          if(!(#t150 == null)) {
+            core::Iterator<dynamic> :sync-for-iterator = #t150{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+              final dynamic #t151 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+              {
+                final core::int #t152 = #t151 as{TypeError,ForNonNullableByDefault} core::int;
+                #t149.{core::Set::add}{Invariant}(#t152){(core::int) → core::bool};
+              }
+            }
+          }
         }
       }
     }
   } =>#t149, block {
     final core::Map<core::int, core::int> #t153 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t154 = w;
-    if(!(#t154 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t154{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t155 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t153.{core::Map::[]=}{Invariant}(#t155.{core::MapEntry::key}{core::int}, #t155.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::Map<core::int, core::int>? #t154 = w;
+          if(!(#t154 == null))
+            #t153.{core::Map::addAll}{Invariant}(#t154{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+        }
       }
     }
   } =>#t153, block {
-    final core::Set<core::int> #t156 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t157 = x;
-      if(!(#t157 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t157{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t158 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t159 = #t158 as{TypeError,ForNonNullableByDefault} core::int;
-            #t156.{core::Set::add}{Invariant}(#t159){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t156, block {
-    final core::Set<core::int> #t160 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t161 = y;
-      if(!(#t161 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t161{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t162 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t163 = #t162 as{TypeError,ForNonNullableByDefault} core::int;
-            #t160.{core::Set::add}{Invariant}(#t163){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t160, block {
-    final core::Set<core::int> #t164 = new col::_CompactLinkedHashSet::•<core::int>();
-    if(condition) {
-      final core::Iterable<dynamic>? #t165 = z;
-      if(!(#t165 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t165{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t166 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-          {
-            final core::int #t167 = #t166 as{TypeError,ForNonNullableByDefault} core::int;
-            #t164.{core::Set::add}{Invariant}(#t167){(core::int) → core::bool};
-          }
-        }
-      }
-    }
-  } =>#t164, block {
-    final core::Map<core::int, core::int> #t168 = <core::int, core::int>{};
-    if(condition) {
-      final core::Map<core::int, core::int>? #t169 = w;
-      if(!(#t169 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t169{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t170 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t168.{core::Map::[]=}{Invariant}(#t170.{core::MapEntry::key}{core::int}, #t170.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
-    }
-  } =>#t168, block {
-    final core::Set<core::int> #t171 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t172 = x;
-          if(!(#t172 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t172{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t173 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t174 = #t173 as{TypeError,ForNonNullableByDefault} core::int;
-                #t171.{core::Set::add}{Invariant}(#t174){(core::int) → core::bool};
-              }
-            }
-          }
-        }
-      }
-    }
-  } =>#t171, block {
-    final core::Set<core::int> #t175 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t176 = y;
-          if(!(#t176 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t176{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t177 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t178 = #t177 as{TypeError,ForNonNullableByDefault} core::int;
-                #t175.{core::Set::add}{Invariant}(#t178){(core::int) → core::bool};
-              }
-            }
-          }
-        }
-      }
-    }
-  } =>#t175, block {
-    final core::Set<core::int> #t179 = new col::_CompactLinkedHashSet::•<core::int>();
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Iterable<dynamic>? #t180 = z;
-          if(!(#t180 == null)) {
-            core::Iterator<dynamic> :sync-for-iterator = #t180{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final dynamic #t181 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-              {
-                final core::int #t182 = #t181 as{TypeError,ForNonNullableByDefault} core::int;
-                #t179.{core::Set::add}{Invariant}(#t182){(core::int) → core::bool};
-              }
-            }
-          }
-        }
-      }
-    }
-  } =>#t179, block {
-    final core::Map<core::int, core::int> #t183 = <core::int, core::int>{};
-    {
-      core::Iterator<dynamic> :sync-for-iterator = iterable.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        dynamic e = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::Map<core::int, core::int>? #t184 = w;
-          if(!(#t184 == null)) {
-            core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t184{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-            for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-              final core::MapEntry<core::int, core::int> #t185 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-              #t183.{core::Map::[]=}{Invariant}(#t185.{core::MapEntry::key}{core::int}, #t185.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-            }
-          }
-        }
-      }
-    }
-  } =>#t183, block {
-    final core::Set<core::int> #t186 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Set<core::int> #t155 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t187 = x;
-      if(!(#t187 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t187{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t156 = x;
+      if(!(#t156 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t156{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t188 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t157 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t189 = #t188 as{TypeError,ForNonNullableByDefault} core::int;
-            #t186.{core::Set::add}{Invariant}(#t189){(core::int) → core::bool};
+            final core::int #t158 = #t157 as{TypeError,ForNonNullableByDefault} core::int;
+            #t155.{core::Set::add}{Invariant}(#t158){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t186, block {
-    final core::Set<core::int> #t190 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t155, block {
+    final core::Set<core::int> #t159 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t191 = y;
-      if(!(#t191 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t191{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t160 = y;
+      if(!(#t160 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t160{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t192 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t161 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t193 = #t192 as{TypeError,ForNonNullableByDefault} core::int;
-            #t190.{core::Set::add}{Invariant}(#t193){(core::int) → core::bool};
+            final core::int #t162 = #t161 as{TypeError,ForNonNullableByDefault} core::int;
+            #t159.{core::Set::add}{Invariant}(#t162){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t190, block {
-    final core::Set<core::int> #t194 = new col::_CompactLinkedHashSet::•<core::int>();
+  } =>#t159, block {
+    final core::Set<core::int> #t163 = new col::_CompactLinkedHashSet::•<core::int>();
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Iterable<dynamic>? #t195 = z;
-      if(!(#t195 == null)) {
-        core::Iterator<dynamic> :sync-for-iterator = #t195{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      final core::Iterable<dynamic>? #t164 = z;
+      if(!(#t164 == null)) {
+        core::Iterator<dynamic> :sync-for-iterator = #t164{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
         for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final dynamic #t196 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+          final dynamic #t165 = :sync-for-iterator.{core::Iterator::current}{dynamic};
           {
-            final core::int #t197 = #t196 as{TypeError,ForNonNullableByDefault} core::int;
-            #t194.{core::Set::add}{Invariant}(#t197){(core::int) → core::bool};
+            final core::int #t166 = #t165 as{TypeError,ForNonNullableByDefault} core::int;
+            #t163.{core::Set::add}{Invariant}(#t166){(core::int) → core::bool};
           }
         }
       }
     }
-  } =>#t194, block {
-    final core::Map<core::int, core::int> #t198 = <core::int, core::int>{};
+  } =>#t163, block {
+    final core::Map<core::int, core::int> #t167 = <core::int, core::int>{};
     for (core::int i = 0; i.{core::num::<}(42){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      final core::Map<core::int, core::int>? #t199 = w;
-      if(!(#t199 == null)) {
-        core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t199{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<core::int, core::int> #t200 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-          #t198.{core::Map::[]=}{Invariant}(#t200.{core::MapEntry::key}{core::int}, #t200.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-        }
-      }
+      final core::Map<core::int, core::int>? #t168 = w;
+      if(!(#t168 == null))
+        #t167.{core::Map::addAll}{Invariant}(#t168{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     }
-  } =>#t198];
+  } =>#t167];
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
index 1f35633..ea7bb3d 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.expect
@@ -66,77 +66,69 @@
   } =>#t15);
   core::Set<core::int> set1 = block {
     final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t18 = set;
+    final core::Iterable<core::int>? #t18 = set;
     if(!(#t18 == null))
-      for (final has-declared-initializer dynamic #t19 in #t18{core::Iterable<dynamic>}) {
-        final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
-        #t17.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
-      }
+      #t17.{core::Set::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
   } =>#t17;
   core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t19 = col::LinkedHashSet::•<core::int>();
+    #t19.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    final core::Iterable<core::int>? #t20 = set;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+  } =>#t19;
+  core::Set<core::int> set4 = block {
     final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
     #t21.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
     #t21.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final core::Iterable<core::int>? #t22 = set;
+    final has-declared-initializer core::Iterable<core::int>? #t22 = null;
     if(!(#t22 == null))
       #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
     #t21.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
   } =>#t21;
-  core::Set<core::int> set4 = block {
-    final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final has-declared-initializer core::Iterable<core::int>? #t24 = null;
-    if(!(#t24 == null))
-      #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    #t23.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
-  } =>#t23;
   has-declared-initializer core::Map<core::int, core::int>? map = null;
   core::print( block {
+    final core::Map<core::int, core::int> #t23 = <core::int, core::int>{};
+    #t23.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t23.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t24 = map;
+    if(!(#t24 == null))
+      #t23.{core::Map::addAll}{Invariant}(#t24{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t23.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t23);
+  core::print( block {
     final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
     #t25.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
     #t25.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t26 = map;
+    final has-declared-initializer core::Map<core::int, core::int>? #t26 = null;
     if(!(#t26 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t27 in #t26{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}{core::int}, #t27.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      #t25.{core::Map::addAll}{Invariant}(#t26{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     #t25.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
   } =>#t25);
-  core::print( block {
-    final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
-    #t28.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t29 = null;
-    if(!(#t29 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t30 in #t29{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}{core::int}, #t30.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t28);
   core::Map<core::int, core::int> map1 = block {
-    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t32 = map;
-    if(!(#t32 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t33 in #t32{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::int}, #t33.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-  } =>#t31;
+    final core::Map<core::int, core::int> #t27 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t28 = map;
+    if(!(#t28 == null))
+      #t27.{core::Map::addAll}{Invariant}(#t28{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t27;
   core::Map<core::int, core::int> map3 = block {
-    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
-    #t34.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t35 = map;
-    if(!(#t35 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t36 in #t35{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}{core::int}, #t36.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t34;
+    final core::Map<core::int, core::int> #t29 = <core::int, core::int>{};
+    #t29.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t29.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t30 = map;
+    if(!(#t30 == null))
+      #t29.{core::Map::addAll}{Invariant}(#t30{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t29.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t29;
   core::Map<core::int, core::int> map4 = block {
-    final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
-    #t37.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t38 = null;
-    if(!(#t38 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t39 in #t38{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}{core::int}, #t39.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t37;
+    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+    #t31.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t31.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final has-declared-initializer core::Map<core::int, core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t31.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t31;
 }
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
index 5717697..c819d5f 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.strong.transformed.expect
@@ -66,102 +66,69 @@
   } =>#t15);
   core::Set<core::int> set1 = block {
     final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t18 = set;
-    if(!(#t18 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t18{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
-          #t17.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
-        }
-      }
-    }
+    final core::Iterable<core::int>? #t18 = set;
+    if(!(#t18 == null))
+      #t17.{core::Set::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
   } =>#t17;
   core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t19 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t19.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    final core::Iterable<core::int>? #t20 = set;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+  } =>#t19;
+  core::Set<core::int> set4 = block {
     final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
     #t21.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
     #t21.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final core::Iterable<core::int>? #t22 = set;
+    final has-declared-initializer core::Iterable<core::int>? #t22 = null;
     if(!(#t22 == null))
       #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
     #t21.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
   } =>#t21;
-  core::Set<core::int> set4 = block {
-    final core::Set<core::int> #t23 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final has-declared-initializer core::Iterable<core::int>? #t24 = null;
-    if(!(#t24 == null))
-      #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    #t23.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
-  } =>#t23;
   has-declared-initializer core::Map<core::int, core::int>? map = null;
   core::print( block {
+    final core::Map<core::int, core::int> #t23 = <core::int, core::int>{};
+    #t23.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t23.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t24 = map;
+    if(!(#t24 == null))
+      #t23.{core::Map::addAll}{Invariant}(#t24{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t23.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t23);
+  core::print( block {
     final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
     #t25.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
     #t25.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t26 = map;
-    if(!(#t26 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t26{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}{core::int}, #t27.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
+    final has-declared-initializer core::Map<core::int, core::int>? #t26 = null;
+    if(!(#t26 == null))
+      #t25.{core::Map::addAll}{Invariant}(#t26{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     #t25.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
   } =>#t25);
-  core::print( block {
-    final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
-    #t28.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t29 = null;
-    if(!(#t29 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t29{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}{core::int}, #t30.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-    #t28.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t28);
   core::Map<core::int, core::int> map1 = block {
-    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t32 = map;
-    if(!(#t32 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t32{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::int}, #t33.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-  } =>#t31;
+    final core::Map<core::int, core::int> #t27 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t28 = map;
+    if(!(#t28 == null))
+      #t27.{core::Map::addAll}{Invariant}(#t28{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t27;
   core::Map<core::int, core::int> map3 = block {
-    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
-    #t34.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t35 = map;
-    if(!(#t35 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t35{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}{core::int}, #t36.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-    #t34.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t34;
+    final core::Map<core::int, core::int> #t29 = <core::int, core::int>{};
+    #t29.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t29.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t30 = map;
+    if(!(#t30 == null))
+      #t29.{core::Map::addAll}{Invariant}(#t30{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t29.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t29;
   core::Map<core::int, core::int> map4 = block {
-    final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
-    #t37.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t38 = null;
-    if(!(#t38 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t38{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}{core::int}, #t39.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-    #t37.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t37;
+    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+    #t31.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t31.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final has-declared-initializer core::Map<core::int, core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t31.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t31;
 }
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
index 1f35633..ea7bb3d 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.expect
@@ -66,77 +66,69 @@
   } =>#t15);
   core::Set<core::int> set1 = block {
     final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t18 = set;
+    final core::Iterable<core::int>? #t18 = set;
     if(!(#t18 == null))
-      for (final has-declared-initializer dynamic #t19 in #t18{core::Iterable<dynamic>}) {
-        final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
-        #t17.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
-      }
+      #t17.{core::Set::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
   } =>#t17;
   core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t19 = col::LinkedHashSet::•<core::int>();
+    #t19.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    final core::Iterable<core::int>? #t20 = set;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+  } =>#t19;
+  core::Set<core::int> set4 = block {
     final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
     #t21.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
     #t21.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final core::Iterable<core::int>? #t22 = set;
+    final has-declared-initializer core::Iterable<core::int>? #t22 = null;
     if(!(#t22 == null))
       #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
     #t21.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
   } =>#t21;
-  core::Set<core::int> set4 = block {
-    final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final has-declared-initializer core::Iterable<core::int>? #t24 = null;
-    if(!(#t24 == null))
-      #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    #t23.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
-  } =>#t23;
   has-declared-initializer core::Map<core::int, core::int>? map = null;
   core::print( block {
+    final core::Map<core::int, core::int> #t23 = <core::int, core::int>{};
+    #t23.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t23.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t24 = map;
+    if(!(#t24 == null))
+      #t23.{core::Map::addAll}{Invariant}(#t24{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t23.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t23);
+  core::print( block {
     final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
     #t25.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
     #t25.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t26 = map;
+    final has-declared-initializer core::Map<core::int, core::int>? #t26 = null;
     if(!(#t26 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t27 in #t26{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}{core::int}, #t27.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      #t25.{core::Map::addAll}{Invariant}(#t26{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     #t25.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
   } =>#t25);
-  core::print( block {
-    final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
-    #t28.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t29 = null;
-    if(!(#t29 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t30 in #t29{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}{core::int}, #t30.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t28);
   core::Map<core::int, core::int> map1 = block {
-    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t32 = map;
-    if(!(#t32 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t33 in #t32{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::int}, #t33.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-  } =>#t31;
+    final core::Map<core::int, core::int> #t27 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t28 = map;
+    if(!(#t28 == null))
+      #t27.{core::Map::addAll}{Invariant}(#t28{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t27;
   core::Map<core::int, core::int> map3 = block {
-    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
-    #t34.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t35 = map;
-    if(!(#t35 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t36 in #t35{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}{core::int}, #t36.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t34;
+    final core::Map<core::int, core::int> #t29 = <core::int, core::int>{};
+    #t29.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t29.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t30 = map;
+    if(!(#t30 == null))
+      #t29.{core::Map::addAll}{Invariant}(#t30{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t29.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t29;
   core::Map<core::int, core::int> map4 = block {
-    final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
-    #t37.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t38 = null;
-    if(!(#t38 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t39 in #t38{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}{core::int}, #t39.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t37;
+    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+    #t31.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t31.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final has-declared-initializer core::Map<core::int, core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t31.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t31;
 }
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.modular.expect
index 1f35633..ea7bb3d 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.modular.expect
@@ -66,77 +66,69 @@
   } =>#t15);
   core::Set<core::int> set1 = block {
     final core::Set<core::int> #t17 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t18 = set;
+    final core::Iterable<core::int>? #t18 = set;
     if(!(#t18 == null))
-      for (final has-declared-initializer dynamic #t19 in #t18{core::Iterable<dynamic>}) {
-        final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
-        #t17.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
-      }
+      #t17.{core::Set::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
   } =>#t17;
   core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t19 = col::LinkedHashSet::•<core::int>();
+    #t19.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    final core::Iterable<core::int>? #t20 = set;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+  } =>#t19;
+  core::Set<core::int> set4 = block {
     final core::Set<core::int> #t21 = col::LinkedHashSet::•<core::int>();
     #t21.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
     #t21.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final core::Iterable<core::int>? #t22 = set;
+    final has-declared-initializer core::Iterable<core::int>? #t22 = null;
     if(!(#t22 == null))
       #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
     #t21.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
   } =>#t21;
-  core::Set<core::int> set4 = block {
-    final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final has-declared-initializer core::Iterable<core::int>? #t24 = null;
-    if(!(#t24 == null))
-      #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    #t23.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
-  } =>#t23;
   has-declared-initializer core::Map<core::int, core::int>? map = null;
   core::print( block {
+    final core::Map<core::int, core::int> #t23 = <core::int, core::int>{};
+    #t23.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t23.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t24 = map;
+    if(!(#t24 == null))
+      #t23.{core::Map::addAll}{Invariant}(#t24{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t23.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t23);
+  core::print( block {
     final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
     #t25.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
     #t25.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t26 = map;
+    final has-declared-initializer core::Map<core::int, core::int>? #t26 = null;
     if(!(#t26 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t27 in #t26{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}{core::int}, #t27.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
+      #t25.{core::Map::addAll}{Invariant}(#t26{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     #t25.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
   } =>#t25);
-  core::print( block {
-    final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
-    #t28.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t29 = null;
-    if(!(#t29 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t30 in #t29{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}{core::int}, #t30.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t28);
   core::Map<core::int, core::int> map1 = block {
-    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t32 = map;
-    if(!(#t32 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t33 in #t32{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::int}, #t33.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-  } =>#t31;
+    final core::Map<core::int, core::int> #t27 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t28 = map;
+    if(!(#t28 == null))
+      #t27.{core::Map::addAll}{Invariant}(#t28{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t27;
   core::Map<core::int, core::int> map3 = block {
-    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
-    #t34.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t35 = map;
-    if(!(#t35 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t36 in #t35{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}{core::int}, #t36.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t34;
+    final core::Map<core::int, core::int> #t29 = <core::int, core::int>{};
+    #t29.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t29.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t30 = map;
+    if(!(#t30 == null))
+      #t29.{core::Map::addAll}{Invariant}(#t30{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t29.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t29;
   core::Map<core::int, core::int> map4 = block {
-    final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
-    #t37.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t38 = null;
-    if(!(#t38 == null))
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t39 in #t38{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}{core::int}, #t39.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t37;
+    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+    #t31.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t31.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final has-declared-initializer core::Map<core::int, core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t31.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t31;
 }
diff --git a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
index 5717697..c819d5f 100644
--- a/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/spread_if_null.dart.weak.transformed.expect
@@ -66,102 +66,69 @@
   } =>#t15);
   core::Set<core::int> set1 = block {
     final core::Set<core::int> #t17 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t18 = set;
-    if(!(#t18 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t18{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t19 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::int #t20 = #t19 as{TypeError,ForNonNullableByDefault} core::int;
-          #t17.{core::Set::add}{Invariant}(#t20){(core::int) → core::bool};
-        }
-      }
-    }
+    final core::Iterable<core::int>? #t18 = set;
+    if(!(#t18 == null))
+      #t17.{core::Set::addAll}{Invariant}(#t18{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
   } =>#t17;
   core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t19 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t19.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t19.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    final core::Iterable<core::int>? #t20 = set;
+    if(!(#t20 == null))
+      #t19.{core::Set::addAll}{Invariant}(#t20{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    #t19.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+  } =>#t19;
+  core::Set<core::int> set4 = block {
     final core::Set<core::int> #t21 = new col::_CompactLinkedHashSet::•<core::int>();
     #t21.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
     #t21.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final core::Iterable<core::int>? #t22 = set;
+    final has-declared-initializer core::Iterable<core::int>? #t22 = null;
     if(!(#t22 == null))
       #t21.{core::Set::addAll}{Invariant}(#t22{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
     #t21.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
   } =>#t21;
-  core::Set<core::int> set4 = block {
-    final core::Set<core::int> #t23 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-    final has-declared-initializer core::Iterable<core::int>? #t24 = null;
-    if(!(#t24 == null))
-      #t23.{core::Set::addAll}{Invariant}(#t24{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    #t23.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
-  } =>#t23;
   has-declared-initializer core::Map<core::int, core::int>? map = null;
   core::print( block {
+    final core::Map<core::int, core::int> #t23 = <core::int, core::int>{};
+    #t23.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t23.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t24 = map;
+    if(!(#t24 == null))
+      #t23.{core::Map::addAll}{Invariant}(#t24{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t23.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t23);
+  core::print( block {
     final core::Map<core::int, core::int> #t25 = <core::int, core::int>{};
     #t25.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
     #t25.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t26 = map;
-    if(!(#t26 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t26{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t27 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t25.{core::Map::[]=}{Invariant}(#t27.{core::MapEntry::key}{core::int}, #t27.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
+    final has-declared-initializer core::Map<core::int, core::int>? #t26 = null;
+    if(!(#t26 == null))
+      #t25.{core::Map::addAll}{Invariant}(#t26{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
     #t25.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
   } =>#t25);
-  core::print( block {
-    final core::Map<core::int, core::int> #t28 = <core::int, core::int>{};
-    #t28.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t28.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t29 = null;
-    if(!(#t29 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t29{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t30 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t28.{core::Map::[]=}{Invariant}(#t30.{core::MapEntry::key}{core::int}, #t30.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-    #t28.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t28);
   core::Map<core::int, core::int> map1 = block {
-    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
-    final core::Map<core::int, core::int>? #t32 = map;
-    if(!(#t32 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t32{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t33 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t31.{core::Map::[]=}{Invariant}(#t33.{core::MapEntry::key}{core::int}, #t33.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-  } =>#t31;
+    final core::Map<core::int, core::int> #t27 = <core::int, core::int>{};
+    final core::Map<core::int, core::int>? #t28 = map;
+    if(!(#t28 == null))
+      #t27.{core::Map::addAll}{Invariant}(#t28{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t27;
   core::Map<core::int, core::int> map3 = block {
-    final core::Map<core::int, core::int> #t34 = <core::int, core::int>{};
-    #t34.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t34.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final core::Map<core::int, core::int>? #t35 = map;
-    if(!(#t35 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t35{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t36 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t34.{core::Map::[]=}{Invariant}(#t36.{core::MapEntry::key}{core::int}, #t36.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-    #t34.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t34;
+    final core::Map<core::int, core::int> #t29 = <core::int, core::int>{};
+    #t29.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t29.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final core::Map<core::int, core::int>? #t30 = map;
+    if(!(#t30 == null))
+      #t29.{core::Map::addAll}{Invariant}(#t30{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t29.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t29;
   core::Map<core::int, core::int> map4 = block {
-    final core::Map<core::int, core::int> #t37 = <core::int, core::int>{};
-    #t37.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
-    #t37.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
-    final has-declared-initializer core::Map<core::int, core::int>? #t38 = null;
-    if(!(#t38 == null)) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t38{core::Map<core::int, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t39 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t37.{core::Map::[]=}{Invariant}(#t39.{core::MapEntry::key}{core::int}, #t39.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-    #t37.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
-  } =>#t37;
+    final core::Map<core::int, core::int> #t31 = <core::int, core::int>{};
+    #t31.{core::Map::[]=}{Invariant}(1, 1){(core::int, core::int) → void};
+    #t31.{core::Map::[]=}{Invariant}(2, 2){(core::int, core::int) → void};
+    final has-declared-initializer core::Map<core::int, core::int>? #t32 = null;
+    if(!(#t32 == null))
+      #t31.{core::Map::addAll}{Invariant}(#t32{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+    #t31.{core::Map::[]=}{Invariant}(3, 3){(core::int, core::int) → void};
+  } =>#t31;
 }
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
index 4218a6a..062a628 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.expect
@@ -145,47 +145,42 @@
   } =>#t5;
   core::Set<core::String> a = block {
     final core::Set<core::String> #t7 = col::LinkedHashSet::•<core::String>();
-    final core::Iterable<dynamic>? #t8 = l;
+    final core::Iterable<core::String>? #t8 = l;
     if(!(#t8 == null))
-      for (final has-declared-initializer dynamic #t9 in #t8{core::Iterable<dynamic>}) {
-        final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
-        #t7.{core::Set::add}{Invariant}(#t10){(core::String) → core::bool};
-      }
+      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
   } =>#t7;
   block {
-    final core::Set<core::String> #t11 = col::LinkedHashSet::•<core::String>();
-    final core::Iterable<core::String>? #t12 = l;
-    if(!(#t12 == null))
-      #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
-  } =>#t11;
+    final core::Set<core::String> #t9 = col::LinkedHashSet::•<core::String>();
+    final core::Iterable<core::String>? #t10 = l;
+    if(!(#t10 == null))
+      #t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+  } =>#t9;
   core::Map<core::String, core::int> b = block {
+    final core::Map<core::String, core::int> #t11 = <core::String, core::int>{};
+    final core::Map<core::String, core::int>? #t12 = m;
+    if(!(#t12 == null))
+      #t11.{core::Map::addAll}{Invariant}(#t12{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t11;
+  block {
     final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
     final core::Map<core::String, core::int>? #t14 = m;
     if(!(#t14 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t15 in #t14{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+      #t13.{core::Map::addAll}{Invariant}(#t14{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
   } =>#t13;
-  block {
-    final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
-    final core::Map<core::String, core::int>? #t17 = m;
-    if(!(#t17 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t18 in #t17{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}{core::String}, #t18.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t16;
   s!;
-  let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
-  let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
-  let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
-  let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
-  let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
-  let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
-  let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
-  let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
-  let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
-    #t29.{core::List::length} = 42;
-  } =>#t29;
-  let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
-    let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
-  } =>#t30;
+  let final core::String #t15 = s in #t15 == null ?{core::String?} null : #t15.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+  let final core::List<core::String> #t16 = l in #t16 == null ?{core::int?} null : #t16.{core::List::length} = 42;
+  let final core::List<core::String> #t17 = l in #t17 == null ?{core::int?} null : #t17.{core::List::length} = #t17.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+  let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
+  let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
+  let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
+  let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
+  let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
+  let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
+    #t25.{core::List::length} = 42;
+  } =>#t25;
+  let final core::List<core::String> #t26 = l in #t26 == null ?{core::List<core::String>} null : block {
+    let final core::List<core::String> #t27 = #t26 in #t27.{core::List::length}{core::int} == null ?{core::int} #t27.{core::List::length} = 42 : null;
+  } =>#t26;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
index 2b3f245..4b5b46a 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.strong.transformed.expect
@@ -145,61 +145,43 @@
   } =>#t5;
   core::Set<core::String> a = block {
     final core::Set<core::String> #t7 = new col::_CompactLinkedHashSet::•<core::String>();
-    final core::Iterable<dynamic>? #t8 = l;
-    if(!(#t8 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t8{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
-          #t7.{core::Set::add}{Invariant}(#t10){(core::String) → core::bool};
-        }
-      }
-    }
+    final core::Iterable<core::String>? #t8 = l;
+    if(!(#t8 == null))
+      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
   } =>#t7;
   block {
-    final core::Set<core::String> #t11 = new col::_CompactLinkedHashSet::•<core::String>();
-    final core::Iterable<core::String>? #t12 = l;
-    if(!(#t12 == null))
-      #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
-  } =>#t11;
+    final core::Set<core::String> #t9 = new col::_CompactLinkedHashSet::•<core::String>();
+    final core::Iterable<core::String>? #t10 = l;
+    if(!(#t10 == null))
+      #t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+  } =>#t9;
   core::Map<core::String, core::int> b = block {
+    final core::Map<core::String, core::int> #t11 = <core::String, core::int>{};
+    final core::Map<core::String, core::int>? #t12 = m;
+    if(!(#t12 == null))
+      #t11.{core::Map::addAll}{Invariant}(#t12{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t11;
+  block {
     final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
     final core::Map<core::String, core::int>? #t14 = m;
-    if(!(#t14 == null)) {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t14{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
+    if(!(#t14 == null))
+      #t13.{core::Map::addAll}{Invariant}(#t14{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
   } =>#t13;
-  block {
-    final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
-    final core::Map<core::String, core::int>? #t17 = m;
-    if(!(#t17 == null)) {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t17{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}{core::String}, #t18.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-  } =>#t16;
   s!;
-  let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
-  let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
-  let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
-  let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
-  let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
-  let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
-  let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
-  let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
-  let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
-    #t29.{core::List::length} = 42;
-  } =>#t29;
-  let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
-    let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
-  } =>#t30;
+  let final core::String #t15 = s in #t15 == null ?{core::String?} null : #t15.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+  let final core::List<core::String> #t16 = l in #t16 == null ?{core::int?} null : #t16.{core::List::length} = 42;
+  let final core::List<core::String> #t17 = l in #t17 == null ?{core::int?} null : #t17.{core::List::length} = #t17.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+  let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
+  let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
+  let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
+  let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
+  let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
+  let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
+    #t25.{core::List::length} = 42;
+  } =>#t25;
+  let final core::List<core::String> #t26 = l in #t26 == null ?{core::List<core::String>} null : block {
+    let final core::List<core::String> #t27 = #t26 in #t27.{core::List::length}{core::int} == null ?{core::int} #t27.{core::List::length} = 42 : null;
+  } =>#t26;
 }
 static method main() → dynamic {}
 
@@ -211,4 +193,4 @@
 Evaluated: VariableGet @ org-dartlang-testcase:///strictly_non_nullable_warnings.dart:42:8 -> IntConstant(42)
 Evaluated: VariableGet @ org-dartlang-testcase:///strictly_non_nullable_warnings.dart:43:5 -> IntConstant(42)
 Evaluated: VariableGet @ org-dartlang-testcase:///strictly_non_nullable_warnings.dart:43:5 -> IntConstant(42)
-Extra constant evaluation: evaluated: 209, effectively constant: 6
+Extra constant evaluation: evaluated: 181, effectively constant: 6
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
index 4218a6a..062a628 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.expect
@@ -145,47 +145,42 @@
   } =>#t5;
   core::Set<core::String> a = block {
     final core::Set<core::String> #t7 = col::LinkedHashSet::•<core::String>();
-    final core::Iterable<dynamic>? #t8 = l;
+    final core::Iterable<core::String>? #t8 = l;
     if(!(#t8 == null))
-      for (final has-declared-initializer dynamic #t9 in #t8{core::Iterable<dynamic>}) {
-        final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
-        #t7.{core::Set::add}{Invariant}(#t10){(core::String) → core::bool};
-      }
+      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
   } =>#t7;
   block {
-    final core::Set<core::String> #t11 = col::LinkedHashSet::•<core::String>();
-    final core::Iterable<core::String>? #t12 = l;
-    if(!(#t12 == null))
-      #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
-  } =>#t11;
+    final core::Set<core::String> #t9 = col::LinkedHashSet::•<core::String>();
+    final core::Iterable<core::String>? #t10 = l;
+    if(!(#t10 == null))
+      #t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+  } =>#t9;
   core::Map<core::String, core::int> b = block {
+    final core::Map<core::String, core::int> #t11 = <core::String, core::int>{};
+    final core::Map<core::String, core::int>? #t12 = m;
+    if(!(#t12 == null))
+      #t11.{core::Map::addAll}{Invariant}(#t12{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t11;
+  block {
     final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
     final core::Map<core::String, core::int>? #t14 = m;
     if(!(#t14 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t15 in #t14{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+      #t13.{core::Map::addAll}{Invariant}(#t14{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
   } =>#t13;
-  block {
-    final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
-    final core::Map<core::String, core::int>? #t17 = m;
-    if(!(#t17 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t18 in #t17{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}{core::String}, #t18.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t16;
   s!;
-  let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
-  let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
-  let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
-  let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
-  let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
-  let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
-  let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
-  let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
-  let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
-    #t29.{core::List::length} = 42;
-  } =>#t29;
-  let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
-    let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
-  } =>#t30;
+  let final core::String #t15 = s in #t15 == null ?{core::String?} null : #t15.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+  let final core::List<core::String> #t16 = l in #t16 == null ?{core::int?} null : #t16.{core::List::length} = 42;
+  let final core::List<core::String> #t17 = l in #t17 == null ?{core::int?} null : #t17.{core::List::length} = #t17.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+  let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
+  let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
+  let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
+  let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
+  let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
+  let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
+    #t25.{core::List::length} = 42;
+  } =>#t25;
+  let final core::List<core::String> #t26 = l in #t26 == null ?{core::List<core::String>} null : block {
+    let final core::List<core::String> #t27 = #t26 in #t27.{core::List::length}{core::int} == null ?{core::int} #t27.{core::List::length} = 42 : null;
+  } =>#t26;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.modular.expect
index 4218a6a..062a628 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.modular.expect
@@ -145,47 +145,42 @@
   } =>#t5;
   core::Set<core::String> a = block {
     final core::Set<core::String> #t7 = col::LinkedHashSet::•<core::String>();
-    final core::Iterable<dynamic>? #t8 = l;
+    final core::Iterable<core::String>? #t8 = l;
     if(!(#t8 == null))
-      for (final has-declared-initializer dynamic #t9 in #t8{core::Iterable<dynamic>}) {
-        final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
-        #t7.{core::Set::add}{Invariant}(#t10){(core::String) → core::bool};
-      }
+      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
   } =>#t7;
   block {
-    final core::Set<core::String> #t11 = col::LinkedHashSet::•<core::String>();
-    final core::Iterable<core::String>? #t12 = l;
-    if(!(#t12 == null))
-      #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
-  } =>#t11;
+    final core::Set<core::String> #t9 = col::LinkedHashSet::•<core::String>();
+    final core::Iterable<core::String>? #t10 = l;
+    if(!(#t10 == null))
+      #t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+  } =>#t9;
   core::Map<core::String, core::int> b = block {
+    final core::Map<core::String, core::int> #t11 = <core::String, core::int>{};
+    final core::Map<core::String, core::int>? #t12 = m;
+    if(!(#t12 == null))
+      #t11.{core::Map::addAll}{Invariant}(#t12{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t11;
+  block {
     final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
     final core::Map<core::String, core::int>? #t14 = m;
     if(!(#t14 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t15 in #t14{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
+      #t13.{core::Map::addAll}{Invariant}(#t14{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
   } =>#t13;
-  block {
-    final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
-    final core::Map<core::String, core::int>? #t17 = m;
-    if(!(#t17 == null))
-      for (final has-declared-initializer core::MapEntry<core::String, core::int> #t18 in #t17{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>})
-        #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}{core::String}, #t18.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-  } =>#t16;
   s!;
-  let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
-  let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
-  let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
-  let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
-  let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
-  let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
-  let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
-  let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
-  let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
-    #t29.{core::List::length} = 42;
-  } =>#t29;
-  let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
-    let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
-  } =>#t30;
+  let final core::String #t15 = s in #t15 == null ?{core::String?} null : #t15.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+  let final core::List<core::String> #t16 = l in #t16 == null ?{core::int?} null : #t16.{core::List::length} = 42;
+  let final core::List<core::String> #t17 = l in #t17 == null ?{core::int?} null : #t17.{core::List::length} = #t17.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+  let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
+  let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
+  let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
+  let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
+  let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
+  let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
+    #t25.{core::List::length} = 42;
+  } =>#t25;
+  let final core::List<core::String> #t26 = l in #t26 == null ?{core::List<core::String>} null : block {
+    let final core::List<core::String> #t27 = #t26 in #t27.{core::List::length}{core::int} == null ?{core::int} #t27.{core::List::length} = 42 : null;
+  } =>#t26;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
index 2b3f245..4b5b46a 100644
--- a/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/strictly_non_nullable_warnings.dart.weak.transformed.expect
@@ -145,61 +145,43 @@
   } =>#t5;
   core::Set<core::String> a = block {
     final core::Set<core::String> #t7 = new col::_CompactLinkedHashSet::•<core::String>();
-    final core::Iterable<dynamic>? #t8 = l;
-    if(!(#t8 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t8{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t9 = :sync-for-iterator.{core::Iterator::current}{dynamic};
-        {
-          final core::String #t10 = #t9 as{TypeError,ForNonNullableByDefault} core::String;
-          #t7.{core::Set::add}{Invariant}(#t10){(core::String) → core::bool};
-        }
-      }
-    }
+    final core::Iterable<core::String>? #t8 = l;
+    if(!(#t8 == null))
+      #t7.{core::Set::addAll}{Invariant}(#t8{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
   } =>#t7;
   block {
-    final core::Set<core::String> #t11 = new col::_CompactLinkedHashSet::•<core::String>();
-    final core::Iterable<core::String>? #t12 = l;
-    if(!(#t12 == null))
-      #t11.{core::Set::addAll}{Invariant}(#t12{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
-  } =>#t11;
+    final core::Set<core::String> #t9 = new col::_CompactLinkedHashSet::•<core::String>();
+    final core::Iterable<core::String>? #t10 = l;
+    if(!(#t10 == null))
+      #t9.{core::Set::addAll}{Invariant}(#t10{core::Iterable<core::String>}){(core::Iterable<core::String>) → void};
+  } =>#t9;
   core::Map<core::String, core::int> b = block {
+    final core::Map<core::String, core::int> #t11 = <core::String, core::int>{};
+    final core::Map<core::String, core::int>? #t12 = m;
+    if(!(#t12 == null))
+      #t11.{core::Map::addAll}{Invariant}(#t12{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
+  } =>#t11;
+  block {
     final core::Map<core::String, core::int> #t13 = <core::String, core::int>{};
     final core::Map<core::String, core::int>? #t14 = m;
-    if(!(#t14 == null)) {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t14{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t13.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::String}, #t15.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
+    if(!(#t14 == null))
+      #t13.{core::Map::addAll}{Invariant}(#t14{core::Map<core::String, core::int>}){(core::Map<core::String, core::int>) → void};
   } =>#t13;
-  block {
-    final core::Map<core::String, core::int> #t16 = <core::String, core::int>{};
-    final core::Map<core::String, core::int>? #t17 = m;
-    if(!(#t17 == null)) {
-      core::Iterator<core::MapEntry<core::String, core::int>> :sync-for-iterator = #t17{core::Map<core::String, core::int>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::String, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::String, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::String, core::int> #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::String, core::int>};
-        #t16.{core::Map::[]=}{Invariant}(#t18.{core::MapEntry::key}{core::String}, #t18.{core::MapEntry::value}{core::int}){(core::String, core::int) → void};
-      }
-    }
-  } =>#t16;
   s!;
-  let final core::String #t19 = s in #t19 == null ?{core::String?} null : #t19.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
-  let final core::List<core::String> #t20 = l in #t20 == null ?{core::int?} null : #t20.{core::List::length} = 42;
-  let final core::List<core::String> #t21 = l in #t21 == null ?{core::int?} null : #t21.{core::List::length} = #t21.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
-  let final core::List<core::String> #t22 = l in #t22 == null ?{core::int?} null : #t22.{core::List::length}{core::int} == null ?{core::int} #t22.{core::List::length} = 42 : null;
-  let final core::String #t23 = s in #t23 == null ?{core::int?} null : self::E|get#foo(#t23);
-  let final core::String #t24 = s in let final core::int #t25 = 42 in self::E|[](#t24, #t25) == null ?{core::int} self::E|[]=(#t24, #t25, 42) : null;
-  let final core::List<core::String> #t26 = l in let final core::int #t27 = 42 in #t26.{core::List::[]}(#t27){(core::int) → core::String} == null ?{core::String} #t26.{core::List::[]=}(#t27, "foo"){(core::int, core::String) → void} : null;
-  let final core::List<core::String> #t28 = l in #t28.{core::List::length}{core::int} == null ?{core::int} #t28.{core::List::length} = 42 : null;
-  let final core::List<core::String> #t29 = l in #t29 == null ?{core::List<core::String>} null : block {
-    #t29.{core::List::length} = 42;
-  } =>#t29;
-  let final core::List<core::String> #t30 = l in #t30 == null ?{core::List<core::String>} null : block {
-    let final core::List<core::String> #t31 = #t30 in #t31.{core::List::length}{core::int} == null ?{core::int} #t31.{core::List::length} = 42 : null;
-  } =>#t30;
+  let final core::String #t15 = s in #t15 == null ?{core::String?} null : #t15.{core::String::substring}(0, 0){(core::int, [core::int?]) → core::String};
+  let final core::List<core::String> #t16 = l in #t16 == null ?{core::int?} null : #t16.{core::List::length} = 42;
+  let final core::List<core::String> #t17 = l in #t17 == null ?{core::int?} null : #t17.{core::List::length} = #t17.{core::List::length}{core::int}.{core::num::+}(42){(core::num) → core::int};
+  let final core::List<core::String> #t18 = l in #t18 == null ?{core::int?} null : #t18.{core::List::length}{core::int} == null ?{core::int} #t18.{core::List::length} = 42 : null;
+  let final core::String #t19 = s in #t19 == null ?{core::int?} null : self::E|get#foo(#t19);
+  let final core::String #t20 = s in let final core::int #t21 = 42 in self::E|[](#t20, #t21) == null ?{core::int} self::E|[]=(#t20, #t21, 42) : null;
+  let final core::List<core::String> #t22 = l in let final core::int #t23 = 42 in #t22.{core::List::[]}(#t23){(core::int) → core::String} == null ?{core::String} #t22.{core::List::[]=}(#t23, "foo"){(core::int, core::String) → void} : null;
+  let final core::List<core::String> #t24 = l in #t24.{core::List::length}{core::int} == null ?{core::int} #t24.{core::List::length} = 42 : null;
+  let final core::List<core::String> #t25 = l in #t25 == null ?{core::List<core::String>} null : block {
+    #t25.{core::List::length} = 42;
+  } =>#t25;
+  let final core::List<core::String> #t26 = l in #t26 == null ?{core::List<core::String>} null : block {
+    let final core::List<core::String> #t27 = #t26 in #t27.{core::List::length}{core::int} == null ?{core::int} #t27.{core::List::length} = 42 : null;
+  } =>#t26;
 }
 static method main() → dynamic {}
 
@@ -211,4 +193,4 @@
 Evaluated: VariableGet @ org-dartlang-testcase:///strictly_non_nullable_warnings.dart:42:8 -> IntConstant(42)
 Evaluated: VariableGet @ org-dartlang-testcase:///strictly_non_nullable_warnings.dart:43:5 -> IntConstant(42)
 Evaluated: VariableGet @ org-dartlang-testcase:///strictly_non_nullable_warnings.dart:43:5 -> IntConstant(42)
-Extra constant evaluation: evaluated: 209, effectively constant: 6
+Extra constant evaluation: evaluated: 181, effectively constant: 6
diff --git a/pkg/front_end/testcases/strong.status b/pkg/front_end/testcases/strong.status
index 2005fb1..fdeadcb 100644
--- a/pkg/front_end/testcases/strong.status
+++ b/pkg/front_end/testcases/strong.status
@@ -14,6 +14,8 @@
 static_field_lowering/opt_in: SemiFuzzFailure
 
 dart2js/mixin_super/main: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49339
+dart2js/late_fields_with_annotation: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49415
+macros/augment_concrete: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49414
 
 const_functions/const_functions_list: SemiFuzzCrash
 generic_metadata/typedef_generic_types_in_arguments_and_bounds: SemiFuzzCrash
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect
index 84fd04c..c5c2bd6 100644
--- a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.expect
@@ -54,17 +54,16 @@
   core::Map<core::int*, core::String*>* map = block {
     final core::Map<core::int*, core::String*>* #t14 = <core::int*, core::String*>{};
     #t14.{core::Map::[]=}{Invariant}(0, "foo"){(core::int*, core::String*) →* void};
-    for (final has-declared-initializer core::MapEntry<core::int*, core::String*>* #t15 in map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>})
-      #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::int*}, #t15.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* void};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t16 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
-      final core::int* #t17 = #t16.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-      final core::String* #t18 = #t16.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
-      #t14.{core::Map::[]=}{Invariant}(#t17, #t18){(core::int*, core::String*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(map1){(core::Map<core::int*, core::String*>*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t15 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
+      final core::int* #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::String* #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
+      #t14.{core::Map::[]=}{Invariant}(#t16, #t17){(core::int*, core::String*) →* void};
     }
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t19 in (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
-      final core::int* #t20 = #t19.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-      final core::String* #t21 = #t19.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
-      #t14.{core::Map::[]=}{Invariant}(#t20, #t21){(core::int*, core::String*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t18 in (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
+      final core::int* #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::String* #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
+      #t14.{core::Map::[]=}{Invariant}(#t19, #t20){(core::int*, core::String*) →* void};
     }
     if(true)
       #t14.{core::Map::[]=}{Invariant}(2, "baz"){(core::int*, core::String*) →* void};
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.modular.expect
index 84fd04c..c5c2bd6 100644
--- a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.modular.expect
@@ -54,17 +54,16 @@
   core::Map<core::int*, core::String*>* map = block {
     final core::Map<core::int*, core::String*>* #t14 = <core::int*, core::String*>{};
     #t14.{core::Map::[]=}{Invariant}(0, "foo"){(core::int*, core::String*) →* void};
-    for (final has-declared-initializer core::MapEntry<core::int*, core::String*>* #t15 in map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>})
-      #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::int*}, #t15.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* void};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t16 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
-      final core::int* #t17 = #t16.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-      final core::String* #t18 = #t16.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
-      #t14.{core::Map::[]=}{Invariant}(#t17, #t18){(core::int*, core::String*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(map1){(core::Map<core::int*, core::String*>*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t15 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
+      final core::int* #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::String* #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
+      #t14.{core::Map::[]=}{Invariant}(#t16, #t17){(core::int*, core::String*) →* void};
     }
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t19 in (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
-      final core::int* #t20 = #t19.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-      final core::String* #t21 = #t19.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
-      #t14.{core::Map::[]=}{Invariant}(#t20, #t21){(core::int*, core::String*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t18 in (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}) {
+      final core::int* #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::String* #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
+      #t14.{core::Map::[]=}{Invariant}(#t19, #t20){(core::int*, core::String*) →* void};
     }
     if(true)
       #t14.{core::Map::[]=}{Invariant}(2, "baz"){(core::int*, core::String*) →* void};
diff --git a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect
index 64652c2..103e813 100644
--- a/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance.dart.weak.transformed.expect
@@ -78,32 +78,26 @@
   core::Map<core::int*, core::String*>* map = block {
     final core::Map<core::int*, core::String*>* #t14 = <core::int*, core::String*>{};
     #t14.{core::Map::[]=}{Invariant}(0, "foo"){(core::int*, core::String*) →* void};
-    {
-      core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int*, core::String*>* #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
-        #t14.{core::Map::[]=}{Invariant}(#t15.{core::MapEntry::key}{core::int*}, #t15.{core::MapEntry::value}{core::String*}){(core::int*, core::String*) →* void};
-      }
-    }
+    #t14.{core::Map::addAll}{Invariant}(map1){(core::Map<core::int*, core::String*>*) →* void};
     {
       core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t16 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
+        final core::MapEntry<dynamic, dynamic>* #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
         {
-          final core::int* #t17 = #t16.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-          final core::String* #t18 = #t16.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
-          #t14.{core::Map::[]=}{Invariant}(#t17, #t18){(core::int*, core::String*) →* void};
+          final core::int* #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::String* #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
+          #t14.{core::Map::[]=}{Invariant}(#t16, #t17){(core::int*, core::String*) →* void};
         }
       }
     }
     {
       core::Iterator<core::MapEntry<core::int*, core::String*>>* :sync-for-iterator = (map3 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::String*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::String*>>*};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic>* #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
+        final core::MapEntry<dynamic, dynamic>* #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::String*>};
         {
-          final core::int* #t20 = #t19.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
-          final core::String* #t21 = #t19.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
-          #t14.{core::Map::[]=}{Invariant}(#t20, #t21){(core::int*, core::String*) →* void};
+          final core::int* #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::String* #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError} core::String*;
+          #t14.{core::Map::[]=}{Invariant}(#t19, #t20){(core::int*, core::String*) →* void};
         }
       }
     }
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.expect
index 010c0de..23dc3a0 100644
--- a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.expect
@@ -48,14 +48,12 @@
   core::Map<core::int?, core::String?> map = block {
     final core::Map<core::int?, core::String?> #t10 = <core::int?, core::String?>{};
     #t10.{core::Map::[]=}{Invariant}(0, "foo"){(core::int?, core::String?) → void};
-    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t11 in map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
-      #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{core::int?}, #t11.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
-    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t12 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
-      #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}{core::int?}, #t12.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t13 in (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}) {
-      final core::int? #t14 = #t13.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-      final core::String? #t15 = #t13.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
-      #t10.{core::Map::[]=}{Invariant}(#t14, #t15){(core::int?, core::String?) → void};
+    #t10.{core::Map::addAll}{Invariant}(map1){(core::Map<core::int?, core::String?>) → void};
+    #t10.{core::Map::addAll}{Invariant}(map2){(core::Map<core::int?, core::String?>) → void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t11 in (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}) {
+      final core::int? #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+      final core::String? #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
+      #t10.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int?, core::String?) → void};
     }
     if(true)
       #t10.{core::Map::[]=}{Invariant}(2, "baz"){(core::int?, core::String?) → void};
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.modular.expect
index 010c0de..23dc3a0 100644
--- a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.modular.expect
@@ -48,14 +48,12 @@
   core::Map<core::int?, core::String?> map = block {
     final core::Map<core::int?, core::String?> #t10 = <core::int?, core::String?>{};
     #t10.{core::Map::[]=}{Invariant}(0, "foo"){(core::int?, core::String?) → void};
-    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t11 in map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
-      #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{core::int?}, #t11.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
-    for (final has-declared-initializer core::MapEntry<core::int?, core::String?> #t12 in map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>})
-      #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}{core::int?}, #t12.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t13 in (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}) {
-      final core::int? #t14 = #t13.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-      final core::String? #t15 = #t13.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
-      #t10.{core::Map::[]=}{Invariant}(#t14, #t15){(core::int?, core::String?) → void};
+    #t10.{core::Map::addAll}{Invariant}(map1){(core::Map<core::int?, core::String?>) → void};
+    #t10.{core::Map::addAll}{Invariant}(map2){(core::Map<core::int?, core::String?>) → void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t11 in (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}) {
+      final core::int? #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+      final core::String? #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
+      #t10.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int?, core::String?) → void};
     }
     if(true)
       #t10.{core::Map::[]=}{Invariant}(2, "baz"){(core::int?, core::String?) → void};
diff --git a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.transformed.expect
index 14be25b..8daf324 100644
--- a/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/invariance2.dart.weak.transformed.expect
@@ -60,28 +60,16 @@
   core::Map<core::int?, core::String?> map = block {
     final core::Map<core::int?, core::String?> #t10 = <core::int?, core::String?>{};
     #t10.{core::Map::[]=}{Invariant}(0, "foo"){(core::int?, core::String?) → void};
-    {
-      core::Iterator<core::MapEntry<core::int?, core::String?>> :sync-for-iterator = map1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int?, core::String?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int?, core::String?> #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int?, core::String?>};
-        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{core::int?}, #t11.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
-      }
-    }
-    {
-      core::Iterator<core::MapEntry<core::int?, core::String?>> :sync-for-iterator = map2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int?, core::String?>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int?, core::String?> #t12 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int?, core::String?>};
-        #t10.{core::Map::[]=}{Invariant}(#t12.{core::MapEntry::key}{core::int?}, #t12.{core::MapEntry::value}{core::String?}){(core::int?, core::String?) → void};
-      }
-    }
+    #t10.{core::Map::addAll}{Invariant}(map1){(core::Map<core::int?, core::String?>) → void};
+    #t10.{core::Map::addAll}{Invariant}(map2){(core::Map<core::int?, core::String?>) → void};
     {
       core::Iterator<core::MapEntry<core::int?, core::String?>> :sync-for-iterator = (map3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int?, core::String?>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int?, core::String?>>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, dynamic> #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int?, core::String?>};
+        final core::MapEntry<dynamic, dynamic> #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int?, core::String?>};
         {
-          final core::int? #t14 = #t13.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
-          final core::String? #t15 = #t13.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
-          #t10.{core::Map::[]=}{Invariant}(#t14, #t15){(core::int?, core::String?) → void};
+          final core::int? #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int?;
+          final core::String? #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::String?;
+          #t10.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int?, core::String?) → void};
         }
       }
     }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all.dart b/pkg/front_end/testcases/unified_collections/list_add_all.dart
index c6c02de..4c69fe6 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all.dart
+++ b/pkg/front_end/testcases/unified_collections/list_add_all.dart
@@ -65,6 +65,65 @@
   ];
 
   expect(new List<num>.generate(24, (int i) => i), list4);
+
+  List<int> list5 = [
+    ...dynamicList1,
+    ...dynamicList2,
+    ...iterableIntList,
+    ...iterableNumList1,
+    ...iterableNumList2,
+    ...intList,
+    ...numList1,
+    ...numList2
+  ];
+
+  expect(new List<int>.generate(24, (int i) => i), list5);
+
+  var list6 = [
+    ...dynamicList1,
+    ...dynamicList2,
+    ...iterableIntList,
+    ...iterableNumList1,
+    ...iterableNumList2,
+    ...intList,
+    ...numList1,
+    ...numList2
+  ];
+
+  expect(new List<dynamic>.generate(24, (int i) => i), list6);
+
+  List<int> list7 = [
+    ...?dynamicList1,
+    ...?dynamicList2,
+    ...?iterableIntList,
+    ...?iterableNumList1,
+    ...?iterableNumList2,
+    ...?intList,
+    ...?numList1,
+    ...?numList2
+  ];
+
+  expect(new List<int>.generate(24, (int i) => i), list7);
+
+  var list8 = [
+    ...?dynamicList1,
+    ...?dynamicList2,
+    ...?iterableIntList,
+    ...?iterableNumList1,
+    ...?iterableNumList2,
+    ...?intList,
+    ...?numList1,
+    ...?numList2
+  ];
+
+  expect(new List<dynamic>.generate(24, (int i) => i), list8);
+
+  {
+    List<int> intList1 = [0, 1, 2];
+    List<int> intList2 = [3, 4, 5];
+    var list = [...intList1, ...intList2];
+    expect(new List<int>.generate(6, (int i) => i), list);
+  }
 }
 
 main() {
@@ -81,4 +140,8 @@
           'Expected ${list1[i]}, actual ${list2[i]}.';
     }
   }
+  if (list1.runtimeType.toString() != list2.runtimeType.toString()) {
+    throw "Runtime time difference: "
+        "${list1.runtimeType.toString()} vs ${list2.runtimeType.toString()}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect
index 62f06f8..213eb09 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.expect
@@ -139,6 +139,130 @@
       #t40.{core::List::addAll}{Invariant}(#t52){(core::Iterable<core::num*>*) →* void};
   } =>#t40;
   self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i), list4);
+  core::List<core::int*>* list5 = block {
+    final core::List<core::int*>* #t53 = <core::int*>[];
+    for (final has-declared-initializer dynamic #t54 in dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t55 = #t54 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t55){(core::int*) →* void};
+    }
+    for (final has-declared-initializer dynamic #t56 in dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t57 = #t56 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t57){(core::int*) →* void};
+    }
+    #t53.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t58 in iterableNumList1) {
+      final core::int* #t59 = #t58 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t59){(core::int*) →* void};
+    }
+    for (final has-declared-initializer dynamic #t60 in iterableNumList2) {
+      final core::int* #t61 = #t60 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t61){(core::int*) →* void};
+    }
+    #t53.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t62 in numList1) {
+      final core::int* #t63 = #t62 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t63){(core::int*) →* void};
+    }
+    for (final has-declared-initializer dynamic #t64 in numList2) {
+      final core::int* #t65 = #t64 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t65){(core::int*) →* void};
+    }
+  } =>#t53;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i), list5);
+  core::List<dynamic>* list6 = block {
+    final core::List<dynamic>* #t66 = core::List::of<dynamic>(dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t66.{core::List::addAll}{Invariant}(dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableNumList1){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableNumList2){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(intList){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(numList1){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(numList2){(core::Iterable<dynamic>*) →* void};
+  } =>#t66;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i), list6);
+  core::List<core::int*>* list7 = block {
+    final core::List<core::int*>* #t67 = <core::int*>[];
+    final core::Iterable<dynamic>* #t68 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t68 == null))
+      for (final has-declared-initializer dynamic #t69 in #t68) {
+        final core::int* #t70 = #t69 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t70){(core::int*) →* void};
+      }
+    final core::Iterable<dynamic>* #t71 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t71 == null))
+      for (final has-declared-initializer dynamic #t72 in #t71) {
+        final core::int* #t73 = #t72 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t73){(core::int*) →* void};
+      }
+    final core::Iterable<core::int*>* #t74 = iterableIntList;
+    if(!(#t74 == null))
+      #t67.{core::List::addAll}{Invariant}(#t74){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t75 = iterableNumList1;
+    if(!(#t75 == null))
+      for (final has-declared-initializer dynamic #t76 in #t75) {
+        final core::int* #t77 = #t76 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t77){(core::int*) →* void};
+      }
+    final core::Iterable<dynamic>* #t78 = iterableNumList2;
+    if(!(#t78 == null))
+      for (final has-declared-initializer dynamic #t79 in #t78) {
+        final core::int* #t80 = #t79 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t80){(core::int*) →* void};
+      }
+    final core::Iterable<core::int*>* #t81 = intList;
+    if(!(#t81 == null))
+      #t67.{core::List::addAll}{Invariant}(#t81){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t82 = numList1;
+    if(!(#t82 == null))
+      for (final has-declared-initializer dynamic #t83 in #t82) {
+        final core::int* #t84 = #t83 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t84){(core::int*) →* void};
+      }
+    final core::Iterable<dynamic>* #t85 = numList2;
+    if(!(#t85 == null))
+      for (final has-declared-initializer dynamic #t86 in #t85) {
+        final core::int* #t87 = #t86 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t87){(core::int*) →* void};
+      }
+  } =>#t67;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i), list7);
+  core::List<dynamic>* list8 = block {
+    final core::List<dynamic>* #t88 = <dynamic>[];
+    final core::Iterable<dynamic>* #t89 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t89 == null))
+      #t88.{core::List::addAll}{Invariant}(#t89){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t90 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t90 == null))
+      #t88.{core::List::addAll}{Invariant}(#t90){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t91 = iterableIntList;
+    if(!(#t91 == null))
+      #t88.{core::List::addAll}{Invariant}(#t91){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t92 = iterableNumList1;
+    if(!(#t92 == null))
+      #t88.{core::List::addAll}{Invariant}(#t92){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t93 = iterableNumList2;
+    if(!(#t93 == null))
+      #t88.{core::List::addAll}{Invariant}(#t93){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t94 = intList;
+    if(!(#t94 == null))
+      #t88.{core::List::addAll}{Invariant}(#t94){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t95 = numList1;
+    if(!(#t95 == null))
+      #t88.{core::List::addAll}{Invariant}(#t95){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t96 = numList2;
+    if(!(#t96 == null))
+      #t88.{core::List::addAll}{Invariant}(#t96){(core::Iterable<dynamic>*) →* void};
+  } =>#t88;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i), list8);
+  {
+    core::List<core::int*>* intList1 = <core::int*>[0, 1, 2];
+    core::List<core::int*>* intList2 = <core::int*>[3, 4, 5];
+    core::List<core::int*>* list = block {
+      final core::List<core::int*>* #t97 = core::List::of<core::int*>(intList1);
+      #t97.{core::List::addAll}{Invariant}(intList2){(core::Iterable<core::int*>*) →* void};
+    } =>#t97;
+    self::expect(core::List::generate<core::int*>(6, (core::int* i) → core::int* => i), list);
+  }
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -152,4 +276,7 @@
       throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int*) →* dynamic}}, actual ${list2.{core::List::[]}(i){(core::int*) →* dynamic}}.";
     }
   }
+  if(!(list1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} list2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${list1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${list2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.modular.expect
index 62f06f8..213eb09 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.modular.expect
@@ -139,6 +139,130 @@
       #t40.{core::List::addAll}{Invariant}(#t52){(core::Iterable<core::num*>*) →* void};
   } =>#t40;
   self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i), list4);
+  core::List<core::int*>* list5 = block {
+    final core::List<core::int*>* #t53 = <core::int*>[];
+    for (final has-declared-initializer dynamic #t54 in dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t55 = #t54 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t55){(core::int*) →* void};
+    }
+    for (final has-declared-initializer dynamic #t56 in dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t57 = #t56 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t57){(core::int*) →* void};
+    }
+    #t53.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t58 in iterableNumList1) {
+      final core::int* #t59 = #t58 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t59){(core::int*) →* void};
+    }
+    for (final has-declared-initializer dynamic #t60 in iterableNumList2) {
+      final core::int* #t61 = #t60 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t61){(core::int*) →* void};
+    }
+    #t53.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t62 in numList1) {
+      final core::int* #t63 = #t62 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t63){(core::int*) →* void};
+    }
+    for (final has-declared-initializer dynamic #t64 in numList2) {
+      final core::int* #t65 = #t64 as{TypeError} core::int*;
+      #t53.{core::List::add}{Invariant}(#t65){(core::int*) →* void};
+    }
+  } =>#t53;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i), list5);
+  core::List<dynamic>* list6 = block {
+    final core::List<dynamic>* #t66 = core::List::of<dynamic>(dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t66.{core::List::addAll}{Invariant}(dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableNumList1){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableNumList2){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(intList){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(numList1){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(numList2){(core::Iterable<dynamic>*) →* void};
+  } =>#t66;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i), list6);
+  core::List<core::int*>* list7 = block {
+    final core::List<core::int*>* #t67 = <core::int*>[];
+    final core::Iterable<dynamic>* #t68 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t68 == null))
+      for (final has-declared-initializer dynamic #t69 in #t68) {
+        final core::int* #t70 = #t69 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t70){(core::int*) →* void};
+      }
+    final core::Iterable<dynamic>* #t71 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t71 == null))
+      for (final has-declared-initializer dynamic #t72 in #t71) {
+        final core::int* #t73 = #t72 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t73){(core::int*) →* void};
+      }
+    final core::Iterable<core::int*>* #t74 = iterableIntList;
+    if(!(#t74 == null))
+      #t67.{core::List::addAll}{Invariant}(#t74){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t75 = iterableNumList1;
+    if(!(#t75 == null))
+      for (final has-declared-initializer dynamic #t76 in #t75) {
+        final core::int* #t77 = #t76 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t77){(core::int*) →* void};
+      }
+    final core::Iterable<dynamic>* #t78 = iterableNumList2;
+    if(!(#t78 == null))
+      for (final has-declared-initializer dynamic #t79 in #t78) {
+        final core::int* #t80 = #t79 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t80){(core::int*) →* void};
+      }
+    final core::Iterable<core::int*>* #t81 = intList;
+    if(!(#t81 == null))
+      #t67.{core::List::addAll}{Invariant}(#t81){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t82 = numList1;
+    if(!(#t82 == null))
+      for (final has-declared-initializer dynamic #t83 in #t82) {
+        final core::int* #t84 = #t83 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t84){(core::int*) →* void};
+      }
+    final core::Iterable<dynamic>* #t85 = numList2;
+    if(!(#t85 == null))
+      for (final has-declared-initializer dynamic #t86 in #t85) {
+        final core::int* #t87 = #t86 as{TypeError} core::int*;
+        #t67.{core::List::add}{Invariant}(#t87){(core::int*) →* void};
+      }
+  } =>#t67;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i), list7);
+  core::List<dynamic>* list8 = block {
+    final core::List<dynamic>* #t88 = <dynamic>[];
+    final core::Iterable<dynamic>* #t89 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t89 == null))
+      #t88.{core::List::addAll}{Invariant}(#t89){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t90 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t90 == null))
+      #t88.{core::List::addAll}{Invariant}(#t90){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t91 = iterableIntList;
+    if(!(#t91 == null))
+      #t88.{core::List::addAll}{Invariant}(#t91){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t92 = iterableNumList1;
+    if(!(#t92 == null))
+      #t88.{core::List::addAll}{Invariant}(#t92){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t93 = iterableNumList2;
+    if(!(#t93 == null))
+      #t88.{core::List::addAll}{Invariant}(#t93){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t94 = intList;
+    if(!(#t94 == null))
+      #t88.{core::List::addAll}{Invariant}(#t94){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t95 = numList1;
+    if(!(#t95 == null))
+      #t88.{core::List::addAll}{Invariant}(#t95){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t96 = numList2;
+    if(!(#t96 == null))
+      #t88.{core::List::addAll}{Invariant}(#t96){(core::Iterable<dynamic>*) →* void};
+  } =>#t88;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i), list8);
+  {
+    core::List<core::int*>* intList1 = <core::int*>[0, 1, 2];
+    core::List<core::int*>* intList2 = <core::int*>[3, 4, 5];
+    core::List<core::int*>* list = block {
+      final core::List<core::int*>* #t97 = core::List::of<core::int*>(intList1);
+      #t97.{core::List::addAll}{Invariant}(intList2){(core::Iterable<core::int*>*) →* void};
+    } =>#t97;
+    self::expect(core::List::generate<core::int*>(6, (core::int* i) → core::int* => i), list);
+  }
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -152,4 +276,7 @@
       throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int*) →* dynamic}}, actual ${list2.{core::List::[]}(i){(core::int*) →* dynamic}}.";
     }
   }
+  if(!(list1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} list2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${list1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${list2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect
index 92a2f2a..0c55e9d 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all.dart.weak.transformed.expect
@@ -227,6 +227,196 @@
       #t40.{core::List::addAll}{Invariant}(#t52){(core::Iterable<core::num*>*) →* void};
   } =>#t40;
   self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i), list4);
+  core::List<core::int*>* list5 = block {
+    final core::List<core::int*>* #t53 = core::_GrowableList::•<core::int*>(0);
+    {
+      core::Iterator<dynamic>* :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t54 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t55 = #t54 as{TypeError} core::int*;
+          #t53.{core::List::add}{Invariant}(#t55){(core::int*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<dynamic>* :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t56 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t57 = #t56 as{TypeError} core::int*;
+          #t53.{core::List::add}{Invariant}(#t57){(core::int*) →* void};
+        }
+      }
+    }
+    #t53.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int*>*) →* void};
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = iterableNumList1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t58 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t59 = #t58 as{TypeError} core::int*;
+          #t53.{core::List::add}{Invariant}(#t59){(core::int*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = iterableNumList2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t60 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t61 = #t60 as{TypeError} core::int*;
+          #t53.{core::List::add}{Invariant}(#t61){(core::int*) →* void};
+        }
+      }
+    }
+    #t53.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int*>*) →* void};
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = numList1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t62 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t63 = #t62 as{TypeError} core::int*;
+          #t53.{core::List::add}{Invariant}(#t63){(core::int*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = numList2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t64 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t65 = #t64 as{TypeError} core::int*;
+          #t53.{core::List::add}{Invariant}(#t65){(core::int*) →* void};
+        }
+      }
+    }
+  } =>#t53;
+  self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i), list5);
+  core::List<dynamic>* list6 = block {
+    final core::List<dynamic>* #t66 = core::List::of<dynamic>(dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t66.{core::List::addAll}{Invariant}(dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableNumList1){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(iterableNumList2){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(intList){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(numList1){(core::Iterable<dynamic>*) →* void};
+    #t66.{core::List::addAll}{Invariant}(numList2){(core::Iterable<dynamic>*) →* void};
+  } =>#t66;
+  self::expect(core::_GrowableList::generate<dynamic>(24, (core::int* i) → core::int* => i), list6);
+  core::List<core::int*>* list7 = block {
+    final core::List<core::int*>* #t67 = core::_GrowableList::•<core::int*>(0);
+    final core::Iterable<dynamic>* #t68 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t68 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t68.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t69 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t70 = #t69 as{TypeError} core::int*;
+          #t67.{core::List::add}{Invariant}(#t70){(core::int*) →* void};
+        }
+      }
+    }
+    final core::Iterable<dynamic>* #t71 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t71 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t71.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t72 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t73 = #t72 as{TypeError} core::int*;
+          #t67.{core::List::add}{Invariant}(#t73){(core::int*) →* void};
+        }
+      }
+    }
+    final core::Iterable<core::int*>* #t74 = iterableIntList;
+    if(!(#t74 == null))
+      #t67.{core::List::addAll}{Invariant}(#t74){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t75 = iterableNumList1;
+    if(!(#t75 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t75.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t76 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t77 = #t76 as{TypeError} core::int*;
+          #t67.{core::List::add}{Invariant}(#t77){(core::int*) →* void};
+        }
+      }
+    }
+    final core::Iterable<dynamic>* #t78 = iterableNumList2;
+    if(!(#t78 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t78.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t79 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t80 = #t79 as{TypeError} core::int*;
+          #t67.{core::List::add}{Invariant}(#t80){(core::int*) →* void};
+        }
+      }
+    }
+    final core::Iterable<core::int*>* #t81 = intList;
+    if(!(#t81 == null))
+      #t67.{core::List::addAll}{Invariant}(#t81){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t82 = numList1;
+    if(!(#t82 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t82.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t83 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t84 = #t83 as{TypeError} core::int*;
+          #t67.{core::List::add}{Invariant}(#t84){(core::int*) →* void};
+        }
+      }
+    }
+    final core::Iterable<dynamic>* #t85 = numList2;
+    if(!(#t85 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t85.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t86 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t87 = #t86 as{TypeError} core::int*;
+          #t67.{core::List::add}{Invariant}(#t87){(core::int*) →* void};
+        }
+      }
+    }
+  } =>#t67;
+  self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i), list7);
+  core::List<dynamic>* list8 = block {
+    final core::List<dynamic>* #t88 = core::_GrowableList::•<dynamic>(0);
+    final core::Iterable<dynamic>* #t89 = dynamicList1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t89 == null))
+      #t88.{core::List::addAll}{Invariant}(#t89){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t90 = dynamicList2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t90 == null))
+      #t88.{core::List::addAll}{Invariant}(#t90){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t91 = iterableIntList;
+    if(!(#t91 == null))
+      #t88.{core::List::addAll}{Invariant}(#t91){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t92 = iterableNumList1;
+    if(!(#t92 == null))
+      #t88.{core::List::addAll}{Invariant}(#t92){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t93 = iterableNumList2;
+    if(!(#t93 == null))
+      #t88.{core::List::addAll}{Invariant}(#t93){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t94 = intList;
+    if(!(#t94 == null))
+      #t88.{core::List::addAll}{Invariant}(#t94){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t95 = numList1;
+    if(!(#t95 == null))
+      #t88.{core::List::addAll}{Invariant}(#t95){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t96 = numList2;
+    if(!(#t96 == null))
+      #t88.{core::List::addAll}{Invariant}(#t96){(core::Iterable<dynamic>*) →* void};
+  } =>#t88;
+  self::expect(core::_GrowableList::generate<dynamic>(24, (core::int* i) → core::int* => i), list8);
+  {
+    core::List<core::int*>* intList1 = core::_GrowableList::_literal3<core::int*>(0, 1, 2);
+    core::List<core::int*>* intList2 = core::_GrowableList::_literal3<core::int*>(3, 4, 5);
+    core::List<core::int*>* list = block {
+      final core::List<core::int*>* #t97 = core::List::of<core::int*>(intList1);
+      #t97.{core::List::addAll}{Invariant}(intList2){(core::Iterable<core::int*>*) →* void};
+    } =>#t97;
+    self::expect(core::_GrowableList::generate<core::int*>(6, (core::int* i) → core::int* => i), list);
+  }
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -240,4 +430,7 @@
       throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int*) →* dynamic}}, actual ${list2.{core::List::[]}(i){(core::int*) →* dynamic}}.";
     }
   }
+  if(!(list1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} list2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${list1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${list2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart
index f4ce868..a839280 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart
+++ b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart
@@ -28,6 +28,33 @@
   ];
 
   expect(new List<num>.generate(15, (int i) => i), list2);
+
+  List<int> list3 = [
+    ...dynamicList1,
+    ...dynamicList2,
+    ...dynamicList3,
+    ...iterableIntList,
+    ...intList,
+  ];
+
+  expect(new List<int>.generate(15, (int i) => i), list3);
+
+  var list4 = [
+    ...dynamicList1,
+    ...dynamicList2,
+    ...dynamicList3,
+    ...iterableIntList,
+    ...intList,
+  ];
+
+  expect(new List<dynamic>.generate(15, (int i) => i), list4);
+
+  {
+    List<int> intList1 = [0, 1, 2];
+    List<int> intList2 = [3, 4, 5];
+    var list = [...intList1, ...intList2];
+    expect(new List<int>.generate(6, (int i) => i), list);
+  }
 }
 
 void useAddAllNullable() {
@@ -56,6 +83,26 @@
   ];
 
   expect(new List<num>.generate(15, (int i) => i), list2);
+
+  List<int> list3 = [
+    ...?dynamicList1,
+    ...?dynamicList2,
+    ...?dynamicList3,
+    ...?iterableIntList,
+    ...?intList,
+  ];
+
+  expect(new List<int>.generate(15, (int i) => i), list3);
+
+  var list4 = [
+    ...?dynamicList1,
+    ...?dynamicList2,
+    ...?dynamicList3,
+    ...?iterableIntList,
+    ...?intList,
+  ];
+
+  expect(new List<dynamic>.generate(15, (int i) => i), list4);
 }
 
 main() {
@@ -73,4 +120,8 @@
           'Expected ${list1[i]}, actual ${list2[i]}.';
     }
   }
+  if (list1.runtimeType.toString() != list2.runtimeType.toString()) {
+    throw "Runtime time difference: "
+        "${list1.runtimeType.toString()} vs ${list2.runtimeType.toString()}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect
index bbb52b5..4f673bf 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.expect
@@ -44,6 +44,41 @@
     #t8.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::num>) → void};
   } =>#t8;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i), list2);
+  core::List<core::int> list3 = block {
+    final core::List<core::int> #t15 = <core::int>[];
+    for (final has-declared-initializer dynamic #t16 in dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+      #t15.{core::List::add}{Invariant}(#t17){(core::int) → void};
+    }
+    for (final has-declared-initializer dynamic #t18 in dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
+      #t15.{core::List::add}{Invariant}(#t19){(core::int) → void};
+    }
+    for (final has-declared-initializer dynamic #t20 in dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int;
+      #t15.{core::List::add}{Invariant}(#t21){(core::int) → void};
+    }
+    #t15.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int>) → void};
+    #t15.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int>) → void};
+  } =>#t15;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list3);
+  core::List<dynamic> list4 = block {
+    final core::List<dynamic> #t22 = core::List::of<dynamic>(dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t22.{core::List::addAll}{Invariant}(dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(intList){(core::Iterable<dynamic>) → void};
+  } =>#t22;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i), list4);
+  {
+    core::List<core::int> intList1 = <core::int>[0, 1, 2];
+    core::List<core::int> intList2 = <core::int>[3, 4, 5];
+    core::List<core::int> list = block {
+      final core::List<core::int> #t23 = core::List::of<core::int>(intList1);
+      #t23.{core::List::addAll}{Invariant}(intList2){(core::Iterable<core::int>) → void};
+    } =>#t23;
+    self::expect(core::List::generate<core::int>(6, (core::int i) → core::int => i), list);
+  }
 }
 static method useAddAllNullable() → void {
   dynamic dynamicList1 = <core::int>[0, 1, 2];
@@ -52,61 +87,108 @@
   core::Iterable<core::int>? iterableIntList = true ?{core::List<core::int>?} <core::int>[9, 10, 11] : null;
   core::List<core::int>? intList = true ?{core::List<core::int>?} <core::int>[12, 13, 14] : null;
   core::List<core::int> list1 = block {
-    final core::List<core::int> #t15 = <core::int>[];
-    final core::Iterable<dynamic>? #t16 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t16 == null))
-      for (final has-declared-initializer dynamic #t17 in #t16{core::Iterable<dynamic>}) {
-        final core::int #t18 = #t17 as{TypeError,ForNonNullableByDefault} core::int;
-        #t15.{core::List::add}{Invariant}(#t18){(core::int) → void};
-      }
-    final core::Iterable<dynamic>? #t19 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t19 == null))
-      for (final has-declared-initializer dynamic #t20 in #t19{core::Iterable<dynamic>}) {
-        final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int;
-        #t15.{core::List::add}{Invariant}(#t21){(core::int) → void};
-      }
-    final core::Iterable<dynamic>? #t22 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t22 == null))
-      for (final has-declared-initializer dynamic #t23 in #t22{core::Iterable<dynamic>}) {
-        final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
-        #t15.{core::List::add}{Invariant}(#t24){(core::int) → void};
-      }
-    final core::Iterable<core::int>? #t25 = iterableIntList;
+    final core::List<core::int> #t24 = <core::int>[];
+    final core::Iterable<dynamic>? #t25 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t25 == null))
-      #t15.{core::List::addAll}{Invariant}(#t25{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t26 = intList;
-    if(!(#t26 == null))
-      #t15.{core::List::addAll}{Invariant}(#t26{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t15;
-  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list1);
-  core::List<core::num> list2 = block {
-    final core::List<core::num> #t27 = <core::num>[];
-    final core::Iterable<dynamic>? #t28 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+      for (final has-declared-initializer dynamic #t26 in #t25{core::Iterable<dynamic>}) {
+        final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+        #t24.{core::List::add}{Invariant}(#t27){(core::int) → void};
+      }
+    final core::Iterable<dynamic>? #t28 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t28 == null))
       for (final has-declared-initializer dynamic #t29 in #t28{core::Iterable<dynamic>}) {
-        final core::num #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::num;
-        #t27.{core::List::add}{Invariant}(#t30){(core::num) → void};
+        final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+        #t24.{core::List::add}{Invariant}(#t30){(core::int) → void};
       }
-    final core::Iterable<dynamic>? #t31 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    final core::Iterable<dynamic>? #t31 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t31 == null))
       for (final has-declared-initializer dynamic #t32 in #t31{core::Iterable<dynamic>}) {
-        final core::num #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::num;
-        #t27.{core::List::add}{Invariant}(#t33){(core::num) → void};
+        final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
+        #t24.{core::List::add}{Invariant}(#t33){(core::int) → void};
       }
-    final core::Iterable<dynamic>? #t34 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    final core::Iterable<core::int>? #t34 = iterableIntList;
     if(!(#t34 == null))
-      for (final has-declared-initializer dynamic #t35 in #t34{core::Iterable<dynamic>}) {
-        final core::num #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::num;
-        #t27.{core::List::add}{Invariant}(#t36){(core::num) → void};
-      }
-    final core::Iterable<core::num>? #t37 = iterableIntList;
+      #t24.{core::List::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t35 = intList;
+    if(!(#t35 == null))
+      #t24.{core::List::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t24;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list1);
+  core::List<core::num> list2 = block {
+    final core::List<core::num> #t36 = <core::num>[];
+    final core::Iterable<dynamic>? #t37 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t37 == null))
-      #t27.{core::List::addAll}{Invariant}(#t37{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-    final core::Iterable<core::num>? #t38 = intList;
-    if(!(#t38 == null))
-      #t27.{core::List::addAll}{Invariant}(#t38{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-  } =>#t27;
+      for (final has-declared-initializer dynamic #t38 in #t37{core::Iterable<dynamic>}) {
+        final core::num #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::num;
+        #t36.{core::List::add}{Invariant}(#t39){(core::num) → void};
+      }
+    final core::Iterable<dynamic>? #t40 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t40 == null))
+      for (final has-declared-initializer dynamic #t41 in #t40{core::Iterable<dynamic>}) {
+        final core::num #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::num;
+        #t36.{core::List::add}{Invariant}(#t42){(core::num) → void};
+      }
+    final core::Iterable<dynamic>? #t43 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t43 == null))
+      for (final has-declared-initializer dynamic #t44 in #t43{core::Iterable<dynamic>}) {
+        final core::num #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::num;
+        #t36.{core::List::add}{Invariant}(#t45){(core::num) → void};
+      }
+    final core::Iterable<core::num>? #t46 = iterableIntList;
+    if(!(#t46 == null))
+      #t36.{core::List::addAll}{Invariant}(#t46{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+    final core::Iterable<core::num>? #t47 = intList;
+    if(!(#t47 == null))
+      #t36.{core::List::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+  } =>#t36;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i), list2);
+  core::List<core::int> list3 = block {
+    final core::List<core::int> #t48 = <core::int>[];
+    final core::Iterable<dynamic>? #t49 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t49 == null))
+      for (final has-declared-initializer dynamic #t50 in #t49{core::Iterable<dynamic>}) {
+        final core::int #t51 = #t50 as{TypeError,ForNonNullableByDefault} core::int;
+        #t48.{core::List::add}{Invariant}(#t51){(core::int) → void};
+      }
+    final core::Iterable<dynamic>? #t52 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t52 == null))
+      for (final has-declared-initializer dynamic #t53 in #t52{core::Iterable<dynamic>}) {
+        final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+        #t48.{core::List::add}{Invariant}(#t54){(core::int) → void};
+      }
+    final core::Iterable<dynamic>? #t55 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t55 == null))
+      for (final has-declared-initializer dynamic #t56 in #t55{core::Iterable<dynamic>}) {
+        final core::int #t57 = #t56 as{TypeError,ForNonNullableByDefault} core::int;
+        #t48.{core::List::add}{Invariant}(#t57){(core::int) → void};
+      }
+    final core::Iterable<core::int>? #t58 = iterableIntList;
+    if(!(#t58 == null))
+      #t48.{core::List::addAll}{Invariant}(#t58{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t59 = intList;
+    if(!(#t59 == null))
+      #t48.{core::List::addAll}{Invariant}(#t59{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t48;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list3);
+  core::List<dynamic> list4 = block {
+    final core::List<dynamic> #t60 = <dynamic>[];
+    final core::Iterable<dynamic>? #t61 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t61 == null))
+      #t60.{core::List::addAll}{Invariant}(#t61{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t62 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t62 == null))
+      #t60.{core::List::addAll}{Invariant}(#t62{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t63 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t63 == null))
+      #t60.{core::List::addAll}{Invariant}(#t63{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t64 = iterableIntList;
+    if(!(#t64 == null))
+      #t60.{core::List::addAll}{Invariant}(#t64{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t65 = intList;
+    if(!(#t65 == null))
+      #t60.{core::List::addAll}{Invariant}(#t65{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+  } =>#t60;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i), list4);
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -121,4 +203,7 @@
       throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
     }
   }
+  if(!(list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.modular.expect
index bbb52b5..4f673bf 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.modular.expect
@@ -44,6 +44,41 @@
     #t8.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::num>) → void};
   } =>#t8;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i), list2);
+  core::List<core::int> list3 = block {
+    final core::List<core::int> #t15 = <core::int>[];
+    for (final has-declared-initializer dynamic #t16 in dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+      #t15.{core::List::add}{Invariant}(#t17){(core::int) → void};
+    }
+    for (final has-declared-initializer dynamic #t18 in dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
+      #t15.{core::List::add}{Invariant}(#t19){(core::int) → void};
+    }
+    for (final has-declared-initializer dynamic #t20 in dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int;
+      #t15.{core::List::add}{Invariant}(#t21){(core::int) → void};
+    }
+    #t15.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int>) → void};
+    #t15.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int>) → void};
+  } =>#t15;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list3);
+  core::List<dynamic> list4 = block {
+    final core::List<dynamic> #t22 = core::List::of<dynamic>(dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t22.{core::List::addAll}{Invariant}(dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(intList){(core::Iterable<dynamic>) → void};
+  } =>#t22;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i), list4);
+  {
+    core::List<core::int> intList1 = <core::int>[0, 1, 2];
+    core::List<core::int> intList2 = <core::int>[3, 4, 5];
+    core::List<core::int> list = block {
+      final core::List<core::int> #t23 = core::List::of<core::int>(intList1);
+      #t23.{core::List::addAll}{Invariant}(intList2){(core::Iterable<core::int>) → void};
+    } =>#t23;
+    self::expect(core::List::generate<core::int>(6, (core::int i) → core::int => i), list);
+  }
 }
 static method useAddAllNullable() → void {
   dynamic dynamicList1 = <core::int>[0, 1, 2];
@@ -52,61 +87,108 @@
   core::Iterable<core::int>? iterableIntList = true ?{core::List<core::int>?} <core::int>[9, 10, 11] : null;
   core::List<core::int>? intList = true ?{core::List<core::int>?} <core::int>[12, 13, 14] : null;
   core::List<core::int> list1 = block {
-    final core::List<core::int> #t15 = <core::int>[];
-    final core::Iterable<dynamic>? #t16 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t16 == null))
-      for (final has-declared-initializer dynamic #t17 in #t16{core::Iterable<dynamic>}) {
-        final core::int #t18 = #t17 as{TypeError,ForNonNullableByDefault} core::int;
-        #t15.{core::List::add}{Invariant}(#t18){(core::int) → void};
-      }
-    final core::Iterable<dynamic>? #t19 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t19 == null))
-      for (final has-declared-initializer dynamic #t20 in #t19{core::Iterable<dynamic>}) {
-        final core::int #t21 = #t20 as{TypeError,ForNonNullableByDefault} core::int;
-        #t15.{core::List::add}{Invariant}(#t21){(core::int) → void};
-      }
-    final core::Iterable<dynamic>? #t22 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t22 == null))
-      for (final has-declared-initializer dynamic #t23 in #t22{core::Iterable<dynamic>}) {
-        final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
-        #t15.{core::List::add}{Invariant}(#t24){(core::int) → void};
-      }
-    final core::Iterable<core::int>? #t25 = iterableIntList;
+    final core::List<core::int> #t24 = <core::int>[];
+    final core::Iterable<dynamic>? #t25 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t25 == null))
-      #t15.{core::List::addAll}{Invariant}(#t25{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t26 = intList;
-    if(!(#t26 == null))
-      #t15.{core::List::addAll}{Invariant}(#t26{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t15;
-  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list1);
-  core::List<core::num> list2 = block {
-    final core::List<core::num> #t27 = <core::num>[];
-    final core::Iterable<dynamic>? #t28 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+      for (final has-declared-initializer dynamic #t26 in #t25{core::Iterable<dynamic>}) {
+        final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+        #t24.{core::List::add}{Invariant}(#t27){(core::int) → void};
+      }
+    final core::Iterable<dynamic>? #t28 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t28 == null))
       for (final has-declared-initializer dynamic #t29 in #t28{core::Iterable<dynamic>}) {
-        final core::num #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::num;
-        #t27.{core::List::add}{Invariant}(#t30){(core::num) → void};
+        final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+        #t24.{core::List::add}{Invariant}(#t30){(core::int) → void};
       }
-    final core::Iterable<dynamic>? #t31 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    final core::Iterable<dynamic>? #t31 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t31 == null))
       for (final has-declared-initializer dynamic #t32 in #t31{core::Iterable<dynamic>}) {
-        final core::num #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::num;
-        #t27.{core::List::add}{Invariant}(#t33){(core::num) → void};
+        final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
+        #t24.{core::List::add}{Invariant}(#t33){(core::int) → void};
       }
-    final core::Iterable<dynamic>? #t34 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    final core::Iterable<core::int>? #t34 = iterableIntList;
     if(!(#t34 == null))
-      for (final has-declared-initializer dynamic #t35 in #t34{core::Iterable<dynamic>}) {
-        final core::num #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::num;
-        #t27.{core::List::add}{Invariant}(#t36){(core::num) → void};
-      }
-    final core::Iterable<core::num>? #t37 = iterableIntList;
+      #t24.{core::List::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t35 = intList;
+    if(!(#t35 == null))
+      #t24.{core::List::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t24;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list1);
+  core::List<core::num> list2 = block {
+    final core::List<core::num> #t36 = <core::num>[];
+    final core::Iterable<dynamic>? #t37 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t37 == null))
-      #t27.{core::List::addAll}{Invariant}(#t37{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-    final core::Iterable<core::num>? #t38 = intList;
-    if(!(#t38 == null))
-      #t27.{core::List::addAll}{Invariant}(#t38{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-  } =>#t27;
+      for (final has-declared-initializer dynamic #t38 in #t37{core::Iterable<dynamic>}) {
+        final core::num #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::num;
+        #t36.{core::List::add}{Invariant}(#t39){(core::num) → void};
+      }
+    final core::Iterable<dynamic>? #t40 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t40 == null))
+      for (final has-declared-initializer dynamic #t41 in #t40{core::Iterable<dynamic>}) {
+        final core::num #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::num;
+        #t36.{core::List::add}{Invariant}(#t42){(core::num) → void};
+      }
+    final core::Iterable<dynamic>? #t43 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t43 == null))
+      for (final has-declared-initializer dynamic #t44 in #t43{core::Iterable<dynamic>}) {
+        final core::num #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::num;
+        #t36.{core::List::add}{Invariant}(#t45){(core::num) → void};
+      }
+    final core::Iterable<core::num>? #t46 = iterableIntList;
+    if(!(#t46 == null))
+      #t36.{core::List::addAll}{Invariant}(#t46{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+    final core::Iterable<core::num>? #t47 = intList;
+    if(!(#t47 == null))
+      #t36.{core::List::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+  } =>#t36;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i), list2);
+  core::List<core::int> list3 = block {
+    final core::List<core::int> #t48 = <core::int>[];
+    final core::Iterable<dynamic>? #t49 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t49 == null))
+      for (final has-declared-initializer dynamic #t50 in #t49{core::Iterable<dynamic>}) {
+        final core::int #t51 = #t50 as{TypeError,ForNonNullableByDefault} core::int;
+        #t48.{core::List::add}{Invariant}(#t51){(core::int) → void};
+      }
+    final core::Iterable<dynamic>? #t52 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t52 == null))
+      for (final has-declared-initializer dynamic #t53 in #t52{core::Iterable<dynamic>}) {
+        final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+        #t48.{core::List::add}{Invariant}(#t54){(core::int) → void};
+      }
+    final core::Iterable<dynamic>? #t55 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t55 == null))
+      for (final has-declared-initializer dynamic #t56 in #t55{core::Iterable<dynamic>}) {
+        final core::int #t57 = #t56 as{TypeError,ForNonNullableByDefault} core::int;
+        #t48.{core::List::add}{Invariant}(#t57){(core::int) → void};
+      }
+    final core::Iterable<core::int>? #t58 = iterableIntList;
+    if(!(#t58 == null))
+      #t48.{core::List::addAll}{Invariant}(#t58{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t59 = intList;
+    if(!(#t59 == null))
+      #t48.{core::List::addAll}{Invariant}(#t59{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t48;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i), list3);
+  core::List<dynamic> list4 = block {
+    final core::List<dynamic> #t60 = <dynamic>[];
+    final core::Iterable<dynamic>? #t61 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t61 == null))
+      #t60.{core::List::addAll}{Invariant}(#t61{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t62 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t62 == null))
+      #t60.{core::List::addAll}{Invariant}(#t62{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t63 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t63 == null))
+      #t60.{core::List::addAll}{Invariant}(#t63{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t64 = iterableIntList;
+    if(!(#t64 == null))
+      #t60.{core::List::addAll}{Invariant}(#t64{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t65 = intList;
+    if(!(#t65 == null))
+      #t60.{core::List::addAll}{Invariant}(#t65{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+  } =>#t60;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i), list4);
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -121,4 +203,7 @@
       throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
     }
   }
+  if(!(list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect
index 9fbd382..baebf47 100644
--- a/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/list_add_all_nnbd.dart.weak.transformed.expect
@@ -80,29 +80,30 @@
     #t8.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::num>) → void};
   } =>#t8;
   self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i), list2);
-}
-static method useAddAllNullable() → void {
-  dynamic dynamicList1 = core::_GrowableList::_literal3<core::int>(0, 1, 2);
-  dynamic dynamicList2 = core::_GrowableList::_literal3<core::num>(3, 4, 5);
-  dynamic dynamicList3 = core::_GrowableList::_literal3<core::int?>(6, 7, 8);
-  core::Iterable<core::int>? iterableIntList = true ?{core::List<core::int>?} core::_GrowableList::_literal3<core::int>(9, 10, 11) : null;
-  core::List<core::int>? intList = true ?{core::List<core::int>?} core::_GrowableList::_literal3<core::int>(12, 13, 14) : null;
-  core::List<core::int> list1 = block {
+  core::List<core::int> list3 = block {
     final core::List<core::int> #t15 = core::_GrowableList::•<core::int>(0);
-    final core::Iterable<dynamic>? #t16 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t16 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t16{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t17 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t16 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t18 = #t17 as{TypeError,ForNonNullableByDefault} core::int;
-          #t15.{core::List::add}{Invariant}(#t18){(core::int) → void};
+          final core::int #t17 = #t16 as{TypeError,ForNonNullableByDefault} core::int;
+          #t15.{core::List::add}{Invariant}(#t17){(core::int) → void};
         }
       }
     }
-    final core::Iterable<dynamic>? #t19 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t19 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t19{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t18 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t19 = #t18 as{TypeError,ForNonNullableByDefault} core::int;
+          #t15.{core::List::add}{Invariant}(#t19){(core::int) → void};
+        }
+      }
+    }
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t20 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
@@ -111,68 +112,182 @@
         }
       }
     }
-    final core::Iterable<dynamic>? #t22 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t22 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t22{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    #t15.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<core::int>) → void};
+    #t15.{core::List::addAll}{Invariant}(intList){(core::Iterable<core::int>) → void};
+  } =>#t15;
+  self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list3);
+  core::List<dynamic> list4 = block {
+    final core::List<dynamic> #t22 = core::List::of<dynamic>(dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t22.{core::List::addAll}{Invariant}(dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(iterableIntList){(core::Iterable<dynamic>) → void};
+    #t22.{core::List::addAll}{Invariant}(intList){(core::Iterable<dynamic>) → void};
+  } =>#t22;
+  self::expect(core::_GrowableList::generate<dynamic>(15, (core::int i) → core::int => i), list4);
+  {
+    core::List<core::int> intList1 = core::_GrowableList::_literal3<core::int>(0, 1, 2);
+    core::List<core::int> intList2 = core::_GrowableList::_literal3<core::int>(3, 4, 5);
+    core::List<core::int> list = block {
+      final core::List<core::int> #t23 = core::List::of<core::int>(intList1);
+      #t23.{core::List::addAll}{Invariant}(intList2){(core::Iterable<core::int>) → void};
+    } =>#t23;
+    self::expect(core::_GrowableList::generate<core::int>(6, (core::int i) → core::int => i), list);
+  }
+}
+static method useAddAllNullable() → void {
+  dynamic dynamicList1 = core::_GrowableList::_literal3<core::int>(0, 1, 2);
+  dynamic dynamicList2 = core::_GrowableList::_literal3<core::num>(3, 4, 5);
+  dynamic dynamicList3 = core::_GrowableList::_literal3<core::int?>(6, 7, 8);
+  core::Iterable<core::int>? iterableIntList = true ?{core::List<core::int>?} core::_GrowableList::_literal3<core::int>(9, 10, 11) : null;
+  core::List<core::int>? intList = true ?{core::List<core::int>?} core::_GrowableList::_literal3<core::int>(12, 13, 14) : null;
+  core::List<core::int> list1 = block {
+    final core::List<core::int> #t24 = core::_GrowableList::•<core::int>(0);
+    final core::Iterable<dynamic>? #t25 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t25 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t25{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t26 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
-          #t15.{core::List::add}{Invariant}(#t24){(core::int) → void};
+          final core::int #t27 = #t26 as{TypeError,ForNonNullableByDefault} core::int;
+          #t24.{core::List::add}{Invariant}(#t27){(core::int) → void};
         }
       }
     }
-    final core::Iterable<core::int>? #t25 = iterableIntList;
-    if(!(#t25 == null))
-      #t15.{core::List::addAll}{Invariant}(#t25{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t26 = intList;
-    if(!(#t26 == null))
-      #t15.{core::List::addAll}{Invariant}(#t26{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t15;
-  self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list1);
-  core::List<core::num> list2 = block {
-    final core::List<core::num> #t27 = core::_GrowableList::•<core::num>(0);
-    final core::Iterable<dynamic>? #t28 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    final core::Iterable<dynamic>? #t28 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t28 == null)) {
       core::Iterator<dynamic> :sync-for-iterator = #t28{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t29 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::num #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::num;
-          #t27.{core::List::add}{Invariant}(#t30){(core::num) → void};
+          final core::int #t30 = #t29 as{TypeError,ForNonNullableByDefault} core::int;
+          #t24.{core::List::add}{Invariant}(#t30){(core::int) → void};
         }
       }
     }
-    final core::Iterable<dynamic>? #t31 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    final core::Iterable<dynamic>? #t31 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
     if(!(#t31 == null)) {
       core::Iterator<dynamic> :sync-for-iterator = #t31{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
         final dynamic #t32 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::num #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::num;
-          #t27.{core::List::add}{Invariant}(#t33){(core::num) → void};
+          final core::int #t33 = #t32 as{TypeError,ForNonNullableByDefault} core::int;
+          #t24.{core::List::add}{Invariant}(#t33){(core::int) → void};
         }
       }
     }
-    final core::Iterable<dynamic>? #t34 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t34 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t34{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    final core::Iterable<core::int>? #t34 = iterableIntList;
+    if(!(#t34 == null))
+      #t24.{core::List::addAll}{Invariant}(#t34{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t35 = intList;
+    if(!(#t35 == null))
+      #t24.{core::List::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t24;
+  self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list1);
+  core::List<core::num> list2 = block {
+    final core::List<core::num> #t36 = core::_GrowableList::•<core::num>(0);
+    final core::Iterable<dynamic>? #t37 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t37 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t37{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t35 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::num #t36 = #t35 as{TypeError,ForNonNullableByDefault} core::num;
-          #t27.{core::List::add}{Invariant}(#t36){(core::num) → void};
+          final core::num #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::num;
+          #t36.{core::List::add}{Invariant}(#t39){(core::num) → void};
         }
       }
     }
-    final core::Iterable<core::num>? #t37 = iterableIntList;
-    if(!(#t37 == null))
-      #t27.{core::List::addAll}{Invariant}(#t37{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-    final core::Iterable<core::num>? #t38 = intList;
-    if(!(#t38 == null))
-      #t27.{core::List::addAll}{Invariant}(#t38{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-  } =>#t27;
+    final core::Iterable<dynamic>? #t40 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t40 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t40{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t41 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::num #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::num;
+          #t36.{core::List::add}{Invariant}(#t42){(core::num) → void};
+        }
+      }
+    }
+    final core::Iterable<dynamic>? #t43 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t43 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t43{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t44 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::num #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::num;
+          #t36.{core::List::add}{Invariant}(#t45){(core::num) → void};
+        }
+      }
+    }
+    final core::Iterable<core::num>? #t46 = iterableIntList;
+    if(!(#t46 == null))
+      #t36.{core::List::addAll}{Invariant}(#t46{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+    final core::Iterable<core::num>? #t47 = intList;
+    if(!(#t47 == null))
+      #t36.{core::List::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+  } =>#t36;
   self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i), list2);
+  core::List<core::int> list3 = block {
+    final core::List<core::int> #t48 = core::_GrowableList::•<core::int>(0);
+    final core::Iterable<dynamic>? #t49 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t49 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t49{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t50 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t51 = #t50 as{TypeError,ForNonNullableByDefault} core::int;
+          #t48.{core::List::add}{Invariant}(#t51){(core::int) → void};
+        }
+      }
+    }
+    final core::Iterable<dynamic>? #t52 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t52 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t52{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t53 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::int;
+          #t48.{core::List::add}{Invariant}(#t54){(core::int) → void};
+        }
+      }
+    }
+    final core::Iterable<dynamic>? #t55 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t55 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t55{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t56 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t57 = #t56 as{TypeError,ForNonNullableByDefault} core::int;
+          #t48.{core::List::add}{Invariant}(#t57){(core::int) → void};
+        }
+      }
+    }
+    final core::Iterable<core::int>? #t58 = iterableIntList;
+    if(!(#t58 == null))
+      #t48.{core::List::addAll}{Invariant}(#t58{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t59 = intList;
+    if(!(#t59 == null))
+      #t48.{core::List::addAll}{Invariant}(#t59{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t48;
+  self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i), list3);
+  core::List<dynamic> list4 = block {
+    final core::List<dynamic> #t60 = core::_GrowableList::•<dynamic>(0);
+    final core::Iterable<dynamic>? #t61 = dynamicList1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t61 == null))
+      #t60.{core::List::addAll}{Invariant}(#t61{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t62 = dynamicList2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t62 == null))
+      #t60.{core::List::addAll}{Invariant}(#t62{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t63 = dynamicList3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t63 == null))
+      #t60.{core::List::addAll}{Invariant}(#t63{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t64 = iterableIntList;
+    if(!(#t64 == null))
+      #t60.{core::List::addAll}{Invariant}(#t64{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t65 = intList;
+    if(!(#t65 == null))
+      #t60.{core::List::addAll}{Invariant}(#t65{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+  } =>#t60;
+  self::expect(core::_GrowableList::generate<dynamic>(15, (core::int i) → core::int => i), list4);
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -187,4 +302,7 @@
       throw "Unexpected element at index ${i}. Expected ${list1.{core::List::[]}(i){(core::int) → dynamic}}, actual ${list2.{core::List::[]}(i){(core::int) → dynamic}}.";
     }
   }
+  if(!(list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${list1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${list2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all.dart b/pkg/front_end/testcases/unified_collections/map_add_all.dart
new file mode 100644
index 0000000..aa0c538
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all.dart
@@ -0,0 +1,151 @@
+// Copyright (c) 2022, 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.
+
+// @dart=2.9
+
+void useAddAll() {
+  dynamic dynamicMap1 = <int, int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <num, num>{3: 103, 4: 104, 5: 105};
+  Map<int, int> intMap = <int, int>{6: 106, 7: 107, 8: 108};
+  Map<num, num> numMap1 = <int, int>{9: 109, 10: 110, 11: 111};
+  Map<num, num> numMap2 = <num, num>{12: 112, 13: 113, 14: 114};
+
+  var map1 = <int, int>{
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...intMap,
+    ...numMap1,
+    ...numMap2
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map1);
+
+  var map2 = <num, num>{
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...intMap,
+    ...numMap1,
+    ...numMap2
+  };
+
+  expect(
+      new Map<num, num>.fromIterables(new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map2);
+
+  var map3 = <int, int>{
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?intMap,
+    ...?numMap1,
+    ...?numMap2
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map3);
+
+  var map4 = <num, num>{
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?intMap,
+    ...?numMap1,
+    ...?numMap2
+  };
+
+  expect(
+      new Map<num, num>.fromIterables(new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map4);
+
+  Map<int, int> map5 = {
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...intMap,
+    ...numMap1,
+    ...numMap2
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map5);
+
+  var map6 = {
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...intMap,
+    ...numMap1,
+    ...numMap2
+  };
+
+  expect(
+      new Map<dynamic, dynamic>.fromIterables(
+          new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map6);
+
+  Map<int, int> map7 = {
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?intMap,
+    ...?numMap1,
+    ...?numMap2
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map7);
+
+  var map8 = {
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?intMap,
+    ...?numMap1,
+    ...?numMap2
+  };
+
+  expect(
+      new Map<dynamic, dynamic>.fromIterables(
+          new List<int>.generate(15, (int i) => i),
+          new List<int>.generate(15, (int i) => 100 + i)),
+      map8);
+
+  {
+    Map<int, int> intMap1 = {0: 100, 1: 101, 2: 102};
+    Map<int, int> intMap2 = {3: 103, 4: 104, 5: 105};
+    var map = {...intMap1, ...intMap2};
+    expect(
+        new Map<int, int>.fromIterables(new List<int>.generate(6, (int i) => i),
+            new List<int>.generate(6, (int i) => 100 + i)),
+        map);
+  }
+}
+
+main() {
+  useAddAll();
+}
+
+void expect(Map map1, Map map2) {
+  if (map1.length != map2.length) {
+    throw 'Unexpected length. Expected ${map1.length}, actual ${map2.length}.';
+  }
+  for (MapEntry entry in map1.entries) {
+    if (!map2.containsKey(entry.key)) {
+      throw 'Key ${entry.key} not found. Expected $map1, actual $map2.';
+    }
+    if (map2[entry.key] != entry.value) {
+      throw 'Found value ${map2[entry.key]} expected ${entry.value} for key ${entry.key}.';
+    }
+  }
+  if (map1.runtimeType.toString() != map2.runtimeType.toString()) {
+    throw "Runtime time difference: "
+        "${map1.runtimeType.toString()} vs ${map2.runtimeType.toString()}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all.dart.textual_outline.expect b/pkg/front_end/testcases/unified_collections/map_add_all.dart.textual_outline.expect
new file mode 100644
index 0000000..24c42a9
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all.dart.textual_outline.expect
@@ -0,0 +1,4 @@
+// @dart = 2.9
+void useAddAll() {}
+main() {}
+void expect(Map map1, Map map2) {}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/unified_collections/map_add_all.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..0ec2ce7
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all.dart.textual_outline_modelled.expect
@@ -0,0 +1,4 @@
+// @dart = 2.9
+main() {}
+void expect(Map map1, Map map2) {}
+void useAddAll() {}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.expect b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.expect
new file mode 100644
index 0000000..bf4f833
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.expect
@@ -0,0 +1,231 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method useAddAll() → void {
+  dynamic dynamicMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num*, core::num*>{3: 103, 4: 104, 5: 105};
+  core::Map<core::int*, core::int*>* intMap = <core::int*, core::int*>{6: 106, 7: 107, 8: 108};
+  core::Map<core::num*, core::num*>* numMap1 = <core::int*, core::int*>{9: 109, 10: 110, 11: 111};
+  core::Map<core::num*, core::num*>* numMap2 = <core::num*, core::num*>{12: 112, 13: 113, 14: 114};
+  core::Map<core::int*, core::int*>* map1 = block {
+    final core::Map<core::int*, core::int*>* #t1 = <core::int*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t2 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t3 = #t2.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t4 = #t2.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t3, #t4){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t5 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t6 = #t5.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t7 = #t5.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t6, #t7){(core::int*, core::int*) →* void};
+    }
+    #t1.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t8 in numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t9 = #t8.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t10 = #t8.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t9, #t10){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t11 in numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int*, core::int*) →* void};
+    }
+  } =>#t1;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map1);
+  core::Map<core::num*, core::num*>* map2 = block {
+    final core::Map<core::num*, core::num*>* #t14 = <core::num*, core::num*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t15 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+      final core::num* #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::num* #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+      #t14.{core::Map::[]=}{Invariant}(#t16, #t17){(core::num*, core::num*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t18 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+      final core::num* #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::num* #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+      #t14.{core::Map::[]=}{Invariant}(#t19, #t20){(core::num*, core::num*) →* void};
+    }
+    #t14.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::num*, core::num*>*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(numMap1){(core::Map<core::num*, core::num*>*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(numMap2){(core::Map<core::num*, core::num*>*) →* void};
+  } =>#t14;
+  self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map2);
+  core::Map<core::int*, core::int*>* map3 = block {
+    final core::Map<core::int*, core::int*>* #t21 = <core::int*, core::int*>{};
+    final core::Map<dynamic, dynamic>* #t22 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t22 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t23 in #t22.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t24 = #t23.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t25 = #t23.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t24, #t25){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t26 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t26 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t27 in #t26.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t28 = #t27.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t29 = #t27.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t28, #t29){(core::int*, core::int*) →* void};
+      }
+    final core::Map<core::int*, core::int*>* #t30 = intMap;
+    if(!(#t30 == null))
+      #t21.{core::Map::addAll}{Invariant}(#t30){(core::Map<core::int*, core::int*>*) →* void};
+    final core::Map<dynamic, dynamic>* #t31 = numMap1;
+    if(!(#t31 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t32 in #t31.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t33 = #t32.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t34 = #t32.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t33, #t34){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t35 = numMap2;
+    if(!(#t35 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t36 in #t35.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t37 = #t36.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t38 = #t36.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t37, #t38){(core::int*, core::int*) →* void};
+      }
+  } =>#t21;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map3);
+  core::Map<core::num*, core::num*>* map4 = block {
+    final core::Map<core::num*, core::num*>* #t39 = <core::num*, core::num*>{};
+    final core::Map<dynamic, dynamic>* #t40 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t40 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t41 in #t40.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+        final core::num* #t42 = #t41.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+        final core::num* #t43 = #t41.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+        #t39.{core::Map::[]=}{Invariant}(#t42, #t43){(core::num*, core::num*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t44 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t44 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t45 in #t44.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+        final core::num* #t46 = #t45.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+        final core::num* #t47 = #t45.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+        #t39.{core::Map::[]=}{Invariant}(#t46, #t47){(core::num*, core::num*) →* void};
+      }
+    final core::Map<core::num*, core::num*>* #t48 = intMap;
+    if(!(#t48 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t48){(core::Map<core::num*, core::num*>*) →* void};
+    final core::Map<core::num*, core::num*>* #t49 = numMap1;
+    if(!(#t49 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t49){(core::Map<core::num*, core::num*>*) →* void};
+    final core::Map<core::num*, core::num*>* #t50 = numMap2;
+    if(!(#t50 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t50){(core::Map<core::num*, core::num*>*) →* void};
+  } =>#t39;
+  self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map4);
+  core::Map<core::int*, core::int*>* map5 = block {
+    final core::Map<core::int*, core::int*>* #t51 = <core::int*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t52 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t53 = #t52.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t54 = #t52.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t53, #t54){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t55 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t56 = #t55.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t57 = #t55.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t56, #t57){(core::int*, core::int*) →* void};
+    }
+    #t51.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t58 in numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t59 = #t58.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t60 = #t58.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t59, #t60){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t61 in numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t62 = #t61.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t63 = #t61.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t62, #t63){(core::int*, core::int*) →* void};
+    }
+  } =>#t51;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map5);
+  core::Map<dynamic, dynamic>* map6 = block {
+    final core::Map<dynamic, dynamic>* #t64 = col::LinkedHashMap::of<dynamic, dynamic>(dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*);
+    #t64.{core::Map::addAll}{Invariant}(dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(intMap){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(numMap1){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(numMap2){(core::Map<dynamic, dynamic>*) →* void};
+  } =>#t64;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map6);
+  core::Map<core::int*, core::int*>* map7 = block {
+    final core::Map<core::int*, core::int*>* #t65 = <core::int*, core::int*>{};
+    final core::Map<dynamic, dynamic>* #t66 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t66 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t67 in #t66.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t68 = #t67.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t69 = #t67.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t68, #t69){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t70 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t70 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t71 in #t70.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t72 = #t71.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t73 = #t71.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t72, #t73){(core::int*, core::int*) →* void};
+      }
+    final core::Map<core::int*, core::int*>* #t74 = intMap;
+    if(!(#t74 == null))
+      #t65.{core::Map::addAll}{Invariant}(#t74){(core::Map<core::int*, core::int*>*) →* void};
+    final core::Map<dynamic, dynamic>* #t75 = numMap1;
+    if(!(#t75 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t76 in #t75.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t77 = #t76.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t78 = #t76.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t77, #t78){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t79 = numMap2;
+    if(!(#t79 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t80 in #t79.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t81 = #t80.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t82 = #t80.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t81, #t82){(core::int*, core::int*) →* void};
+      }
+  } =>#t65;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map7);
+  core::Map<dynamic, dynamic>* map8 = block {
+    final core::Map<dynamic, dynamic>* #t83 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>* #t84 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t84 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t84){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t85 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t85 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t85){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t86 = intMap;
+    if(!(#t86 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t86){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t87 = numMap1;
+    if(!(#t87 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t87){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t88 = numMap2;
+    if(!(#t88 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t88){(core::Map<dynamic, dynamic>*) →* void};
+  } =>#t83;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map8);
+  {
+    core::Map<core::int*, core::int*>* intMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102};
+    core::Map<core::int*, core::int*>* intMap2 = <core::int*, core::int*>{3: 103, 4: 104, 5: 105};
+    core::Map<core::int*, core::int*>* map = block {
+      final core::Map<core::int*, core::int*>* #t89 = col::LinkedHashMap::of<core::int*, core::int*>(intMap1);
+      #t89.{core::Map::addAll}{Invariant}(intMap2){(core::Map<core::int*, core::int*>*) →* void};
+    } =>#t89;
+    self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(6, (core::int* i) → core::int* => i), core::List::generate<core::int*>(6, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map);
+  }
+}
+static method main() → dynamic {
+  self::useAddAll();
+}
+static method expect(core::Map<dynamic, dynamic>* map1, core::Map<dynamic, dynamic>* map2) → void {
+  if(!(map1.{core::Map::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} map2.{core::Map::length}{core::int*})) {
+    throw "Unexpected length. Expected ${map1.{core::Map::length}{core::int*}}, actual ${map2.{core::Map::length}{core::int*}}.";
+  }
+  for (core::MapEntry<dynamic, dynamic>* entry in map1.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>*>*}) {
+    if(!map2.{core::Map::containsKey}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* core::bool*}) {
+      throw "Key ${entry.{core::MapEntry::key}{dynamic}} not found. Expected ${map1}, actual ${map2}.";
+    }
+    if(!(map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} entry.{core::MapEntry::value}{dynamic})) {
+      throw "Found value ${map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic}} expected ${entry.{core::MapEntry::value}{dynamic}} for key ${entry.{core::MapEntry::key}{dynamic}}.";
+    }
+  }
+  if(!(map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.modular.expect
new file mode 100644
index 0000000..bf4f833
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.modular.expect
@@ -0,0 +1,231 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method useAddAll() → void {
+  dynamic dynamicMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num*, core::num*>{3: 103, 4: 104, 5: 105};
+  core::Map<core::int*, core::int*>* intMap = <core::int*, core::int*>{6: 106, 7: 107, 8: 108};
+  core::Map<core::num*, core::num*>* numMap1 = <core::int*, core::int*>{9: 109, 10: 110, 11: 111};
+  core::Map<core::num*, core::num*>* numMap2 = <core::num*, core::num*>{12: 112, 13: 113, 14: 114};
+  core::Map<core::int*, core::int*>* map1 = block {
+    final core::Map<core::int*, core::int*>* #t1 = <core::int*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t2 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t3 = #t2.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t4 = #t2.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t3, #t4){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t5 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t6 = #t5.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t7 = #t5.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t6, #t7){(core::int*, core::int*) →* void};
+    }
+    #t1.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t8 in numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t9 = #t8.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t10 = #t8.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t9, #t10){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t11 in numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t1.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int*, core::int*) →* void};
+    }
+  } =>#t1;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map1);
+  core::Map<core::num*, core::num*>* map2 = block {
+    final core::Map<core::num*, core::num*>* #t14 = <core::num*, core::num*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t15 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+      final core::num* #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::num* #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+      #t14.{core::Map::[]=}{Invariant}(#t16, #t17){(core::num*, core::num*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t18 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+      final core::num* #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+      final core::num* #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+      #t14.{core::Map::[]=}{Invariant}(#t19, #t20){(core::num*, core::num*) →* void};
+    }
+    #t14.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::num*, core::num*>*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(numMap1){(core::Map<core::num*, core::num*>*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(numMap2){(core::Map<core::num*, core::num*>*) →* void};
+  } =>#t14;
+  self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map2);
+  core::Map<core::int*, core::int*>* map3 = block {
+    final core::Map<core::int*, core::int*>* #t21 = <core::int*, core::int*>{};
+    final core::Map<dynamic, dynamic>* #t22 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t22 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t23 in #t22.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t24 = #t23.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t25 = #t23.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t24, #t25){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t26 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t26 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t27 in #t26.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t28 = #t27.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t29 = #t27.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t28, #t29){(core::int*, core::int*) →* void};
+      }
+    final core::Map<core::int*, core::int*>* #t30 = intMap;
+    if(!(#t30 == null))
+      #t21.{core::Map::addAll}{Invariant}(#t30){(core::Map<core::int*, core::int*>*) →* void};
+    final core::Map<dynamic, dynamic>* #t31 = numMap1;
+    if(!(#t31 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t32 in #t31.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t33 = #t32.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t34 = #t32.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t33, #t34){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t35 = numMap2;
+    if(!(#t35 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t36 in #t35.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t37 = #t36.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t38 = #t36.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t21.{core::Map::[]=}{Invariant}(#t37, #t38){(core::int*, core::int*) →* void};
+      }
+  } =>#t21;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map3);
+  core::Map<core::num*, core::num*>* map4 = block {
+    final core::Map<core::num*, core::num*>* #t39 = <core::num*, core::num*>{};
+    final core::Map<dynamic, dynamic>* #t40 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t40 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t41 in #t40.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+        final core::num* #t42 = #t41.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+        final core::num* #t43 = #t41.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+        #t39.{core::Map::[]=}{Invariant}(#t42, #t43){(core::num*, core::num*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t44 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t44 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t45 in #t44.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}) {
+        final core::num* #t46 = #t45.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+        final core::num* #t47 = #t45.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+        #t39.{core::Map::[]=}{Invariant}(#t46, #t47){(core::num*, core::num*) →* void};
+      }
+    final core::Map<core::num*, core::num*>* #t48 = intMap;
+    if(!(#t48 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t48){(core::Map<core::num*, core::num*>*) →* void};
+    final core::Map<core::num*, core::num*>* #t49 = numMap1;
+    if(!(#t49 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t49){(core::Map<core::num*, core::num*>*) →* void};
+    final core::Map<core::num*, core::num*>* #t50 = numMap2;
+    if(!(#t50 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t50){(core::Map<core::num*, core::num*>*) →* void};
+  } =>#t39;
+  self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map4);
+  core::Map<core::int*, core::int*>* map5 = block {
+    final core::Map<core::int*, core::int*>* #t51 = <core::int*, core::int*>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t52 in (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t53 = #t52.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t54 = #t52.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t53, #t54){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t55 in (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t56 = #t55.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t57 = #t55.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t56, #t57){(core::int*, core::int*) →* void};
+    }
+    #t51.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t58 in numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t59 = #t58.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t60 = #t58.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t59, #t60){(core::int*, core::int*) →* void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t61 in numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+      final core::int* #t62 = #t61.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+      final core::int* #t63 = #t61.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+      #t51.{core::Map::[]=}{Invariant}(#t62, #t63){(core::int*, core::int*) →* void};
+    }
+  } =>#t51;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map5);
+  core::Map<dynamic, dynamic>* map6 = block {
+    final core::Map<dynamic, dynamic>* #t64 = col::LinkedHashMap::of<dynamic, dynamic>(dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*);
+    #t64.{core::Map::addAll}{Invariant}(dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(intMap){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(numMap1){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(numMap2){(core::Map<dynamic, dynamic>*) →* void};
+  } =>#t64;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map6);
+  core::Map<core::int*, core::int*>* map7 = block {
+    final core::Map<core::int*, core::int*>* #t65 = <core::int*, core::int*>{};
+    final core::Map<dynamic, dynamic>* #t66 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t66 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t67 in #t66.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t68 = #t67.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t69 = #t67.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t68, #t69){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t70 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t70 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t71 in #t70.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t72 = #t71.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t73 = #t71.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t72, #t73){(core::int*, core::int*) →* void};
+      }
+    final core::Map<core::int*, core::int*>* #t74 = intMap;
+    if(!(#t74 == null))
+      #t65.{core::Map::addAll}{Invariant}(#t74){(core::Map<core::int*, core::int*>*) →* void};
+    final core::Map<dynamic, dynamic>* #t75 = numMap1;
+    if(!(#t75 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t76 in #t75.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t77 = #t76.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t78 = #t76.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t77, #t78){(core::int*, core::int*) →* void};
+      }
+    final core::Map<dynamic, dynamic>* #t79 = numMap2;
+    if(!(#t79 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic>* #t80 in #t79.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}) {
+        final core::int* #t81 = #t80.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+        final core::int* #t82 = #t80.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+        #t65.{core::Map::[]=}{Invariant}(#t81, #t82){(core::int*, core::int*) →* void};
+      }
+  } =>#t65;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map7);
+  core::Map<dynamic, dynamic>* map8 = block {
+    final core::Map<dynamic, dynamic>* #t83 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>* #t84 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t84 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t84){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t85 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t85 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t85){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t86 = intMap;
+    if(!(#t86 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t86){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t87 = numMap1;
+    if(!(#t87 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t87){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t88 = numMap2;
+    if(!(#t88 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t88){(core::Map<dynamic, dynamic>*) →* void};
+  } =>#t83;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int*>(15, (core::int* i) → core::int* => i), core::List::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map8);
+  {
+    core::Map<core::int*, core::int*>* intMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102};
+    core::Map<core::int*, core::int*>* intMap2 = <core::int*, core::int*>{3: 103, 4: 104, 5: 105};
+    core::Map<core::int*, core::int*>* map = block {
+      final core::Map<core::int*, core::int*>* #t89 = col::LinkedHashMap::of<core::int*, core::int*>(intMap1);
+      #t89.{core::Map::addAll}{Invariant}(intMap2){(core::Map<core::int*, core::int*>*) →* void};
+    } =>#t89;
+    self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::List::generate<core::int*>(6, (core::int* i) → core::int* => i), core::List::generate<core::int*>(6, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map);
+  }
+}
+static method main() → dynamic {
+  self::useAddAll();
+}
+static method expect(core::Map<dynamic, dynamic>* map1, core::Map<dynamic, dynamic>* map2) → void {
+  if(!(map1.{core::Map::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} map2.{core::Map::length}{core::int*})) {
+    throw "Unexpected length. Expected ${map1.{core::Map::length}{core::int*}}, actual ${map2.{core::Map::length}{core::int*}}.";
+  }
+  for (core::MapEntry<dynamic, dynamic>* entry in map1.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>*>*}) {
+    if(!map2.{core::Map::containsKey}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* core::bool*}) {
+      throw "Key ${entry.{core::MapEntry::key}{dynamic}} not found. Expected ${map1}, actual ${map2}.";
+    }
+    if(!(map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} entry.{core::MapEntry::value}{dynamic})) {
+      throw "Found value ${map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic}} expected ${entry.{core::MapEntry::value}{dynamic}} for key ${entry.{core::MapEntry::key}{dynamic}}.";
+    }
+  }
+  if(!(map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.outline.expect
new file mode 100644
index 0000000..6f890c5
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.outline.expect
@@ -0,0 +1,10 @@
+library;
+import self as self;
+import "dart:core" as core;
+
+static method useAddAll() → void
+  ;
+static method main() → dynamic
+  ;
+static method expect(core::Map<dynamic, dynamic>* map1, core::Map<dynamic, dynamic>* map2) → void
+  ;
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.transformed.expect
new file mode 100644
index 0000000..8541723
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all.dart.weak.transformed.expect
@@ -0,0 +1,347 @@
+library;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method useAddAll() → void {
+  dynamic dynamicMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num*, core::num*>{3: 103, 4: 104, 5: 105};
+  core::Map<core::int*, core::int*>* intMap = <core::int*, core::int*>{6: 106, 7: 107, 8: 108};
+  core::Map<core::num*, core::num*>* numMap1 = <core::int*, core::int*>{9: 109, 10: 110, 11: 111};
+  core::Map<core::num*, core::num*>* numMap2 = <core::num*, core::num*>{12: 112, 13: 113, 14: 114};
+  core::Map<core::int*, core::int*>* map1 = block {
+    final core::Map<core::int*, core::int*>* #t1 = <core::int*, core::int*>{};
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t3 = #t2.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t4 = #t2.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t1.{core::Map::[]=}{Invariant}(#t3, #t4){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t5 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t6 = #t5.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t7 = #t5.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t1.{core::Map::[]=}{Invariant}(#t6, #t7){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    #t1.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void};
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t8 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t9 = #t8.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t10 = #t8.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t1.{core::Map::[]=}{Invariant}(#t9, #t10){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t12 = #t11.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t13 = #t11.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t1.{core::Map::[]=}{Invariant}(#t12, #t13){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+  } =>#t1;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map1);
+  core::Map<core::num*, core::num*>* map2 = block {
+    final core::Map<core::num*, core::num*>* #t14 = <core::num*, core::num*>{};
+    {
+      core::Iterator<core::MapEntry<core::num*, core::num*>>* :sync-for-iterator = (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::num*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::num*>};
+        {
+          final core::num* #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+          final core::num* #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+          #t14.{core::Map::[]=}{Invariant}(#t16, #t17){(core::num*, core::num*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::num*, core::num*>>* :sync-for-iterator = (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::num*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::num*>};
+        {
+          final core::num* #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+          final core::num* #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+          #t14.{core::Map::[]=}{Invariant}(#t19, #t20){(core::num*, core::num*) →* void};
+        }
+      }
+    }
+    #t14.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::num*, core::num*>*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(numMap1){(core::Map<core::num*, core::num*>*) →* void};
+    #t14.{core::Map::addAll}{Invariant}(numMap2){(core::Map<core::num*, core::num*>*) →* void};
+  } =>#t14;
+  self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map2);
+  core::Map<core::int*, core::int*>* map3 = block {
+    final core::Map<core::int*, core::int*>* #t21 = <core::int*, core::int*>{};
+    final core::Map<dynamic, dynamic>* #t22 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t22 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t22.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t23 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t24 = #t23.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t25 = #t23.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t21.{core::Map::[]=}{Invariant}(#t24, #t25){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>* #t26 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t26 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t26.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t27 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t28 = #t27.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t29 = #t27.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t21.{core::Map::[]=}{Invariant}(#t28, #t29){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    final core::Map<core::int*, core::int*>* #t30 = intMap;
+    if(!(#t30 == null))
+      #t21.{core::Map::addAll}{Invariant}(#t30){(core::Map<core::int*, core::int*>*) →* void};
+    final core::Map<dynamic, dynamic>* #t31 = numMap1;
+    if(!(#t31 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t31.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t32 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t33 = #t32.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t34 = #t32.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t21.{core::Map::[]=}{Invariant}(#t33, #t34){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>* #t35 = numMap2;
+    if(!(#t35 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t35.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t36 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t37 = #t36.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t38 = #t36.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t21.{core::Map::[]=}{Invariant}(#t37, #t38){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+  } =>#t21;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map3);
+  core::Map<core::num*, core::num*>* map4 = block {
+    final core::Map<core::num*, core::num*>* #t39 = <core::num*, core::num*>{};
+    final core::Map<dynamic, dynamic>* #t40 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t40 == null)) {
+      core::Iterator<core::MapEntry<core::num*, core::num*>>* :sync-for-iterator = #t40.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::num*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t41 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::num*>};
+        {
+          final core::num* #t42 = #t41.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+          final core::num* #t43 = #t41.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+          #t39.{core::Map::[]=}{Invariant}(#t42, #t43){(core::num*, core::num*) →* void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>* #t44 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t44 == null)) {
+      core::Iterator<core::MapEntry<core::num*, core::num*>>* :sync-for-iterator = #t44.{core::Map::entries}{core::Iterable<core::MapEntry<core::num*, core::num*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num*, core::num*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t45 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num*, core::num*>};
+        {
+          final core::num* #t46 = #t45.{core::MapEntry::key}{dynamic} as{TypeError} core::num*;
+          final core::num* #t47 = #t45.{core::MapEntry::value}{dynamic} as{TypeError} core::num*;
+          #t39.{core::Map::[]=}{Invariant}(#t46, #t47){(core::num*, core::num*) →* void};
+        }
+      }
+    }
+    final core::Map<core::num*, core::num*>* #t48 = intMap;
+    if(!(#t48 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t48){(core::Map<core::num*, core::num*>*) →* void};
+    final core::Map<core::num*, core::num*>* #t49 = numMap1;
+    if(!(#t49 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t49){(core::Map<core::num*, core::num*>*) →* void};
+    final core::Map<core::num*, core::num*>* #t50 = numMap2;
+    if(!(#t50 == null))
+      #t39.{core::Map::addAll}{Invariant}(#t50){(core::Map<core::num*, core::num*>*) →* void};
+  } =>#t39;
+  self::expect(col::LinkedHashMap::fromIterables<core::num*, core::num*>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map4);
+  core::Map<core::int*, core::int*>* map5 = block {
+    final core::Map<core::int*, core::int*>* #t51 = <core::int*, core::int*>{};
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = (dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t52 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t53 = #t52.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t54 = #t52.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t51.{core::Map::[]=}{Invariant}(#t53, #t54){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = (dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*).{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t55 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t56 = #t55.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t57 = #t55.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t51.{core::Map::[]=}{Invariant}(#t56, #t57){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    #t51.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int*, core::int*>*) →* void};
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = numMap1.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t58 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t59 = #t58.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t60 = #t58.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t51.{core::Map::[]=}{Invariant}(#t59, #t60){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = numMap2.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t61 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t62 = #t61.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t63 = #t61.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t51.{core::Map::[]=}{Invariant}(#t62, #t63){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+  } =>#t51;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map5);
+  core::Map<dynamic, dynamic>* map6 = block {
+    final core::Map<dynamic, dynamic>* #t64 = col::LinkedHashMap::of<dynamic, dynamic>(dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*);
+    #t64.{core::Map::addAll}{Invariant}(dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(intMap){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(numMap1){(core::Map<dynamic, dynamic>*) →* void};
+    #t64.{core::Map::addAll}{Invariant}(numMap2){(core::Map<dynamic, dynamic>*) →* void};
+  } =>#t64;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map6);
+  core::Map<core::int*, core::int*>* map7 = block {
+    final core::Map<core::int*, core::int*>* #t65 = <core::int*, core::int*>{};
+    final core::Map<dynamic, dynamic>* #t66 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t66 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t66.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t67 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t68 = #t67.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t69 = #t67.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t65.{core::Map::[]=}{Invariant}(#t68, #t69){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>* #t70 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t70 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t70.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t71 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t72 = #t71.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t73 = #t71.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t65.{core::Map::[]=}{Invariant}(#t72, #t73){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    final core::Map<core::int*, core::int*>* #t74 = intMap;
+    if(!(#t74 == null))
+      #t65.{core::Map::addAll}{Invariant}(#t74){(core::Map<core::int*, core::int*>*) →* void};
+    final core::Map<dynamic, dynamic>* #t75 = numMap1;
+    if(!(#t75 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t75.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t76 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t77 = #t76.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t78 = #t76.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t65.{core::Map::[]=}{Invariant}(#t77, #t78){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>* #t79 = numMap2;
+    if(!(#t79 == null)) {
+      core::Iterator<core::MapEntry<core::int*, core::int*>>* :sync-for-iterator = #t79.{core::Map::entries}{core::Iterable<core::MapEntry<core::int*, core::int*>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int*, core::int*>>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic>* #t80 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int*, core::int*>};
+        {
+          final core::int* #t81 = #t80.{core::MapEntry::key}{dynamic} as{TypeError} core::int*;
+          final core::int* #t82 = #t80.{core::MapEntry::value}{dynamic} as{TypeError} core::int*;
+          #t65.{core::Map::[]=}{Invariant}(#t81, #t82){(core::int*, core::int*) →* void};
+        }
+      }
+    }
+  } =>#t65;
+  self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map7);
+  core::Map<dynamic, dynamic>* map8 = block {
+    final core::Map<dynamic, dynamic>* #t83 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>* #t84 = dynamicMap1 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t84 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t84){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t85 = dynamicMap2 as{TypeError,ForDynamic} core::Map<dynamic, dynamic>*;
+    if(!(#t85 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t85){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t86 = intMap;
+    if(!(#t86 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t86){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t87 = numMap1;
+    if(!(#t87 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t87){(core::Map<dynamic, dynamic>*) →* void};
+    final core::Map<dynamic, dynamic>* #t88 = numMap2;
+    if(!(#t88 == null))
+      #t83.{core::Map::addAll}{Invariant}(#t88){(core::Map<dynamic, dynamic>*) →* void};
+  } =>#t83;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(15, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map8);
+  {
+    core::Map<core::int*, core::int*>* intMap1 = <core::int*, core::int*>{0: 100, 1: 101, 2: 102};
+    core::Map<core::int*, core::int*>* intMap2 = <core::int*, core::int*>{3: 103, 4: 104, 5: 105};
+    core::Map<core::int*, core::int*>* map = block {
+      final core::Map<core::int*, core::int*>* #t89 = col::LinkedHashMap::of<core::int*, core::int*>(intMap1);
+      #t89.{core::Map::addAll}{Invariant}(intMap2){(core::Map<core::int*, core::int*>*) →* void};
+    } =>#t89;
+    self::expect(col::LinkedHashMap::fromIterables<core::int*, core::int*>(core::_GrowableList::generate<core::int*>(6, (core::int* i) → core::int* => i), core::_GrowableList::generate<core::int*>(6, (core::int* i) → core::int* => 100.{core::num::+}(i){(core::num*) →* core::int*})), map);
+  }
+}
+static method main() → dynamic {
+  self::useAddAll();
+}
+static method expect(core::Map<dynamic, dynamic>* map1, core::Map<dynamic, dynamic>* map2) → void {
+  if(!(map1.{core::Map::length}{core::int*} =={core::num::==}{(core::Object*) →* core::bool*} map2.{core::Map::length}{core::int*})) {
+    throw "Unexpected length. Expected ${map1.{core::Map::length}{core::int*}}, actual ${map2.{core::Map::length}{core::int*}}.";
+  }
+  {
+    core::Iterator<core::MapEntry<dynamic, dynamic>*>* :sync-for-iterator = map1.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>*>*}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>*>*};
+    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+      core::MapEntry<dynamic, dynamic>* entry = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>*};
+      {
+        if(!map2.{core::Map::containsKey}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* core::bool*}) {
+          throw "Key ${entry.{core::MapEntry::key}{dynamic}} not found. Expected ${map1}, actual ${map2}.";
+        }
+        if(!(map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic} =={core::Object::==}{(core::Object*) →* core::bool*} entry.{core::MapEntry::value}{dynamic})) {
+          throw "Found value ${map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object*) →* dynamic}} expected ${entry.{core::MapEntry::value}{dynamic}} for key ${entry.{core::MapEntry::key}{dynamic}}.";
+        }
+      }
+    }
+  }
+  if(!(map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${map1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${map2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart
new file mode 100644
index 0000000..a435759
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart
@@ -0,0 +1,148 @@
+// Copyright (c) 2022, 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.
+
+void useAddAll() {
+  dynamic dynamicMap1 = <int, int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <num, num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <int?, int?>{6: 106, 7: 107, 8: 108};
+  Map<int, int> intMap = <int, int>{9: 109, 10: 110, 11: 111};
+
+  var map1 = <int, int>{
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...dynamicMap3,
+    ...intMap,
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(12, (int i) => i),
+          new List<int>.generate(12, (int i) => 100 + i)),
+      map1);
+
+  var map2 = <num, num>{
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...dynamicMap3,
+    ...intMap,
+  };
+
+  expect(
+      new Map<num, num>.fromIterables(new List<num>.generate(12, (int i) => i),
+          new List<num>.generate(12, (int i) => 100 + i)),
+      map2);
+
+  Map<int, int> map3 = {
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...dynamicMap3,
+    ...intMap,
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(12, (int i) => i),
+          new List<int>.generate(12, (int i) => 100 + i)),
+      map3);
+
+  var map4 = {
+    ...dynamicMap1,
+    ...dynamicMap2,
+    ...dynamicMap3,
+    ...intMap,
+  };
+
+  expect(
+      new Map<dynamic, dynamic>.fromIterables(
+          new List<int>.generate(12, (int i) => i),
+          new List<int>.generate(12, (int i) => 100 + i)),
+      map4);
+
+  {
+    Map<int, int> intMap1 = {0: 100, 1: 101, 2: 102};
+    Map<int, int> intMap2 = {3: 103, 4: 104, 5: 105};
+    var map = {...intMap1, ...intMap2};
+    expect(
+        new Map<int, int>.fromIterables(new List<int>.generate(6, (int i) => i),
+            new List<int>.generate(6, (int i) => 100 + i)),
+        map);
+  }
+}
+
+void useAddAllNullable() {
+  dynamic dynamicMap1 = <int, int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <num, num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <int?, int?>{6: 106, 7: 107, 8: 108};
+  Map<int, int>? intMap = true ? <int, int>{9: 109, 10: 110, 11: 111} : null;
+
+  var map1 = <int, int>{
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?dynamicMap3,
+    ...?intMap,
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(12, (int i) => i),
+          new List<int>.generate(12, (int i) => 100 + i)),
+      map1);
+
+  var map2 = <num, num>{
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?dynamicMap3,
+    ...?intMap,
+  };
+
+  expect(
+      new Map<num, num>.fromIterables(new List<num>.generate(12, (int i) => i),
+          new List<num>.generate(12, (int i) => 100 + i)),
+      map2);
+
+  Map<int, int> map3 = {
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?dynamicMap3,
+    ...?intMap,
+  };
+
+  expect(
+      new Map<int, int>.fromIterables(new List<int>.generate(12, (int i) => i),
+          new List<int>.generate(12, (int i) => 100 + i)),
+      map3);
+
+  var map4 = {
+    ...?dynamicMap1,
+    ...?dynamicMap2,
+    ...?dynamicMap3,
+    ...?intMap,
+  };
+
+  expect(
+      new Map<dynamic, dynamic>.fromIterables(
+          new List<int>.generate(12, (int i) => i),
+          new List<int>.generate(12, (int i) => 100 + i)),
+      map4);
+}
+
+main() {
+  useAddAll();
+  useAddAllNullable();
+}
+
+void expect(Map map1, Map map2) {
+  if (map1.length != map2.length) {
+    throw 'Unexpected length. Expected ${map1.length}, actual ${map2.length}.';
+  }
+  for (MapEntry entry in map1.entries) {
+    if (!map2.containsKey(entry.key)) {
+      throw 'Key ${entry.key} not found. Expected $map1, actual $map2.';
+    }
+    if (map2[entry.key] != entry.value) {
+      throw 'Found value ${map2[entry.key]} expected ${entry.value} for key ${entry.key}.';
+    }
+  }
+  if (map1.runtimeType.toString() != map2.runtimeType.toString()) {
+    throw "Runtime time difference: "
+        "${map1.runtimeType.toString()} vs ${map2.runtimeType.toString()}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.textual_outline.expect b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.textual_outline.expect
new file mode 100644
index 0000000..573957e
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.textual_outline.expect
@@ -0,0 +1,4 @@
+void useAddAll() {}
+void useAddAllNullable() {}
+main() {}
+void expect(Map map1, Map map2) {}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..e364ba0
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.textual_outline_modelled.expect
@@ -0,0 +1,4 @@
+main() {}
+void expect(Map map1, Map map2) {}
+void useAddAll() {}
+void useAddAllNullable() {}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.expect b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.expect
new file mode 100644
index 0000000..c1bbc25
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.expect
@@ -0,0 +1,213 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method useAddAll() → void {
+  dynamic dynamicMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num, core::num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <core::int?, core::int?>{6: 106, 7: 107, 8: 108};
+  core::Map<core::int, core::int> intMap = <core::int, core::int>{9: 109, 10: 110, 11: 111};
+  core::Map<core::int, core::int> map1 = block {
+    final core::Map<core::int, core::int> #t1 = <core::int, core::int>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t3 = #t2.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t4 = #t2.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t1.{core::Map::[]=}{Invariant}(#t3, #t4){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t5 in (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t6 = #t5.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t7 = #t5.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t1.{core::Map::[]=}{Invariant}(#t6, #t7){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t8 in (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t9 = #t8.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t10 = #t8.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t1.{core::Map::[]=}{Invariant}(#t9, #t10){(core::int, core::int) → void};
+    }
+    #t1.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int, core::int>) → void};
+  } =>#t1;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map1);
+  core::Map<core::num, core::num> map2 = block {
+    final core::Map<core::num, core::num> #t11 = <core::num, core::num>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t12 in (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+      final core::num #t13 = #t12.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::num #t14 = #t12.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      #t11.{core::Map::[]=}{Invariant}(#t13, #t14){(core::num, core::num) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t15 in (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+      final core::num #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::num #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      #t11.{core::Map::[]=}{Invariant}(#t16, #t17){(core::num, core::num) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t18 in (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+      final core::num #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::num #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      #t11.{core::Map::[]=}{Invariant}(#t19, #t20){(core::num, core::num) → void};
+    }
+    #t11.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::num, core::num>) → void};
+  } =>#t11;
+  self::expect(col::LinkedHashMap::fromIterables<core::num, core::num>(core::List::generate<core::num>(12, (core::int i) → core::int => i), core::List::generate<core::num>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map2);
+  core::Map<core::int, core::int> map3 = block {
+    final core::Map<core::int, core::int> #t21 = <core::int, core::int>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t22 in (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t23 = #t22.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t24 = #t22.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t21.{core::Map::[]=}{Invariant}(#t23, #t24){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t25 in (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t26 = #t25.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t27 = #t25.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t21.{core::Map::[]=}{Invariant}(#t26, #t27){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t28 in (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t29 = #t28.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t30 = #t28.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t21.{core::Map::[]=}{Invariant}(#t29, #t30){(core::int, core::int) → void};
+    }
+    #t21.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int, core::int>) → void};
+  } =>#t21;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map3);
+  core::Map<dynamic, dynamic> map4 = block {
+    final core::Map<dynamic, dynamic> #t31 = col::LinkedHashMap::of<dynamic, dynamic>(dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>);
+    #t31.{core::Map::addAll}{Invariant}(dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t31.{core::Map::addAll}{Invariant}(dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t31.{core::Map::addAll}{Invariant}(intMap){(core::Map<dynamic, dynamic>) → void};
+  } =>#t31;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map4);
+  {
+    core::Map<core::int, core::int> intMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+    core::Map<core::int, core::int> intMap2 = <core::int, core::int>{3: 103, 4: 104, 5: 105};
+    core::Map<core::int, core::int> map = block {
+      final core::Map<core::int, core::int> #t32 = col::LinkedHashMap::of<core::int, core::int>(intMap1);
+      #t32.{core::Map::addAll}{Invariant}(intMap2){(core::Map<core::int, core::int>) → void};
+    } =>#t32;
+    self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(6, (core::int i) → core::int => i), core::List::generate<core::int>(6, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map);
+  }
+}
+static method useAddAllNullable() → void {
+  dynamic dynamicMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num, core::num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <core::int?, core::int?>{6: 106, 7: 107, 8: 108};
+  core::Map<core::int, core::int>? intMap = true ?{core::Map<core::int, core::int>?} <core::int, core::int>{9: 109, 10: 110, 11: 111} : null;
+  core::Map<core::int, core::int> map1 = block {
+    final core::Map<core::int, core::int> #t33 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t34 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t34 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t35 in #t34{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t36 = #t35.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t37 = #t35.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t33.{core::Map::[]=}{Invariant}(#t36, #t37){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t38 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t38 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t39 in #t38{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t40 = #t39.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t41 = #t39.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t33.{core::Map::[]=}{Invariant}(#t40, #t41){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t42 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t42 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t43 in #t42{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t44 = #t43.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t45 = #t43.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t33.{core::Map::[]=}{Invariant}(#t44, #t45){(core::int, core::int) → void};
+      }
+    final core::Map<core::int, core::int>? #t46 = intMap;
+    if(!(#t46 == null))
+      #t33.{core::Map::addAll}{Invariant}(#t46{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t33;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map1);
+  core::Map<core::num, core::num> map2 = block {
+    final core::Map<core::num, core::num> #t47 = <core::num, core::num>{};
+    final core::Map<dynamic, dynamic>? #t48 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t48 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t49 in #t48{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+        final core::num #t50 = #t49.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        final core::num #t51 = #t49.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        #t47.{core::Map::[]=}{Invariant}(#t50, #t51){(core::num, core::num) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t52 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t52 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t53 in #t52{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+        final core::num #t54 = #t53.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        final core::num #t55 = #t53.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        #t47.{core::Map::[]=}{Invariant}(#t54, #t55){(core::num, core::num) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t56 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t56 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t57 in #t56{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+        final core::num #t58 = #t57.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        final core::num #t59 = #t57.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        #t47.{core::Map::[]=}{Invariant}(#t58, #t59){(core::num, core::num) → void};
+      }
+    final core::Map<core::num, core::num>? #t60 = intMap;
+    if(!(#t60 == null))
+      #t47.{core::Map::addAll}{Invariant}(#t60{core::Map<core::num, core::num>}){(core::Map<core::num, core::num>) → void};
+  } =>#t47;
+  self::expect(col::LinkedHashMap::fromIterables<core::num, core::num>(core::List::generate<core::num>(12, (core::int i) → core::int => i), core::List::generate<core::num>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map2);
+  core::Map<core::int, core::int> map3 = block {
+    final core::Map<core::int, core::int> #t61 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t62 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t62 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t63 in #t62{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t64 = #t63.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t65 = #t63.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t61.{core::Map::[]=}{Invariant}(#t64, #t65){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t66 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t66 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t67 in #t66{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t68 = #t67.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t69 = #t67.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t61.{core::Map::[]=}{Invariant}(#t68, #t69){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t70 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t70 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t71 in #t70{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t72 = #t71.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t73 = #t71.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t61.{core::Map::[]=}{Invariant}(#t72, #t73){(core::int, core::int) → void};
+      }
+    final core::Map<core::int, core::int>? #t74 = intMap;
+    if(!(#t74 == null))
+      #t61.{core::Map::addAll}{Invariant}(#t74{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t61;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map3);
+  core::Map<dynamic, dynamic> map4 = block {
+    final core::Map<dynamic, dynamic> #t75 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>? #t76 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t76 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t76{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t77 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t77 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t77{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t78 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t78 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t78{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t79 = intMap;
+    if(!(#t79 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t79{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+  } =>#t75;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map4);
+}
+static method main() → dynamic {
+  self::useAddAll();
+  self::useAddAllNullable();
+}
+static method expect(core::Map<dynamic, dynamic> map1, core::Map<dynamic, dynamic> map2) → void {
+  if(!(map1.{core::Map::length}{core::int} =={core::num::==}{(core::Object) → core::bool} map2.{core::Map::length}{core::int})) {
+    throw "Unexpected length. Expected ${map1.{core::Map::length}{core::int}}, actual ${map2.{core::Map::length}{core::int}}.";
+  }
+  for (core::MapEntry<dynamic, dynamic> entry in map1.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}) {
+    if(!map2.{core::Map::containsKey}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → core::bool}) {
+      throw "Key ${entry.{core::MapEntry::key}{dynamic}} not found. Expected ${map1}, actual ${map2}.";
+    }
+    if(!(map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → dynamic} =={core::Object::==}{(core::Object) → core::bool} entry.{core::MapEntry::value}{dynamic})) {
+      throw "Found value ${map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → dynamic}} expected ${entry.{core::MapEntry::value}{dynamic}} for key ${entry.{core::MapEntry::key}{dynamic}}.";
+    }
+  }
+  if(!(map1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} map2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${map1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${map2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.modular.expect
new file mode 100644
index 0000000..c1bbc25
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.modular.expect
@@ -0,0 +1,213 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method useAddAll() → void {
+  dynamic dynamicMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num, core::num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <core::int?, core::int?>{6: 106, 7: 107, 8: 108};
+  core::Map<core::int, core::int> intMap = <core::int, core::int>{9: 109, 10: 110, 11: 111};
+  core::Map<core::int, core::int> map1 = block {
+    final core::Map<core::int, core::int> #t1 = <core::int, core::int>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t3 = #t2.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t4 = #t2.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t1.{core::Map::[]=}{Invariant}(#t3, #t4){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t5 in (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t6 = #t5.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t7 = #t5.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t1.{core::Map::[]=}{Invariant}(#t6, #t7){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t8 in (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t9 = #t8.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t10 = #t8.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t1.{core::Map::[]=}{Invariant}(#t9, #t10){(core::int, core::int) → void};
+    }
+    #t1.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int, core::int>) → void};
+  } =>#t1;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map1);
+  core::Map<core::num, core::num> map2 = block {
+    final core::Map<core::num, core::num> #t11 = <core::num, core::num>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t12 in (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+      final core::num #t13 = #t12.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::num #t14 = #t12.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      #t11.{core::Map::[]=}{Invariant}(#t13, #t14){(core::num, core::num) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t15 in (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+      final core::num #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::num #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      #t11.{core::Map::[]=}{Invariant}(#t16, #t17){(core::num, core::num) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t18 in (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+      final core::num #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      final core::num #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+      #t11.{core::Map::[]=}{Invariant}(#t19, #t20){(core::num, core::num) → void};
+    }
+    #t11.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::num, core::num>) → void};
+  } =>#t11;
+  self::expect(col::LinkedHashMap::fromIterables<core::num, core::num>(core::List::generate<core::num>(12, (core::int i) → core::int => i), core::List::generate<core::num>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map2);
+  core::Map<core::int, core::int> map3 = block {
+    final core::Map<core::int, core::int> #t21 = <core::int, core::int>{};
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t22 in (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t23 = #t22.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t24 = #t22.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t21.{core::Map::[]=}{Invariant}(#t23, #t24){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t25 in (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t26 = #t25.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t27 = #t25.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t21.{core::Map::[]=}{Invariant}(#t26, #t27){(core::int, core::int) → void};
+    }
+    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t28 in (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+      final core::int #t29 = #t28.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      final core::int #t30 = #t28.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+      #t21.{core::Map::[]=}{Invariant}(#t29, #t30){(core::int, core::int) → void};
+    }
+    #t21.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int, core::int>) → void};
+  } =>#t21;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map3);
+  core::Map<dynamic, dynamic> map4 = block {
+    final core::Map<dynamic, dynamic> #t31 = col::LinkedHashMap::of<dynamic, dynamic>(dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>);
+    #t31.{core::Map::addAll}{Invariant}(dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t31.{core::Map::addAll}{Invariant}(dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t31.{core::Map::addAll}{Invariant}(intMap){(core::Map<dynamic, dynamic>) → void};
+  } =>#t31;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map4);
+  {
+    core::Map<core::int, core::int> intMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+    core::Map<core::int, core::int> intMap2 = <core::int, core::int>{3: 103, 4: 104, 5: 105};
+    core::Map<core::int, core::int> map = block {
+      final core::Map<core::int, core::int> #t32 = col::LinkedHashMap::of<core::int, core::int>(intMap1);
+      #t32.{core::Map::addAll}{Invariant}(intMap2){(core::Map<core::int, core::int>) → void};
+    } =>#t32;
+    self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(6, (core::int i) → core::int => i), core::List::generate<core::int>(6, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map);
+  }
+}
+static method useAddAllNullable() → void {
+  dynamic dynamicMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num, core::num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <core::int?, core::int?>{6: 106, 7: 107, 8: 108};
+  core::Map<core::int, core::int>? intMap = true ?{core::Map<core::int, core::int>?} <core::int, core::int>{9: 109, 10: 110, 11: 111} : null;
+  core::Map<core::int, core::int> map1 = block {
+    final core::Map<core::int, core::int> #t33 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t34 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t34 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t35 in #t34{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t36 = #t35.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t37 = #t35.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t33.{core::Map::[]=}{Invariant}(#t36, #t37){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t38 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t38 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t39 in #t38{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t40 = #t39.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t41 = #t39.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t33.{core::Map::[]=}{Invariant}(#t40, #t41){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t42 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t42 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t43 in #t42{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t44 = #t43.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t45 = #t43.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t33.{core::Map::[]=}{Invariant}(#t44, #t45){(core::int, core::int) → void};
+      }
+    final core::Map<core::int, core::int>? #t46 = intMap;
+    if(!(#t46 == null))
+      #t33.{core::Map::addAll}{Invariant}(#t46{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t33;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map1);
+  core::Map<core::num, core::num> map2 = block {
+    final core::Map<core::num, core::num> #t47 = <core::num, core::num>{};
+    final core::Map<dynamic, dynamic>? #t48 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t48 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t49 in #t48{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+        final core::num #t50 = #t49.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        final core::num #t51 = #t49.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        #t47.{core::Map::[]=}{Invariant}(#t50, #t51){(core::num, core::num) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t52 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t52 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t53 in #t52{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+        final core::num #t54 = #t53.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        final core::num #t55 = #t53.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        #t47.{core::Map::[]=}{Invariant}(#t54, #t55){(core::num, core::num) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t56 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t56 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t57 in #t56{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}) {
+        final core::num #t58 = #t57.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        final core::num #t59 = #t57.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+        #t47.{core::Map::[]=}{Invariant}(#t58, #t59){(core::num, core::num) → void};
+      }
+    final core::Map<core::num, core::num>? #t60 = intMap;
+    if(!(#t60 == null))
+      #t47.{core::Map::addAll}{Invariant}(#t60{core::Map<core::num, core::num>}){(core::Map<core::num, core::num>) → void};
+  } =>#t47;
+  self::expect(col::LinkedHashMap::fromIterables<core::num, core::num>(core::List::generate<core::num>(12, (core::int i) → core::int => i), core::List::generate<core::num>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map2);
+  core::Map<core::int, core::int> map3 = block {
+    final core::Map<core::int, core::int> #t61 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t62 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t62 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t63 in #t62{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t64 = #t63.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t65 = #t63.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t61.{core::Map::[]=}{Invariant}(#t64, #t65){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t66 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t66 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t67 in #t66{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t68 = #t67.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t69 = #t67.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t61.{core::Map::[]=}{Invariant}(#t68, #t69){(core::int, core::int) → void};
+      }
+    final core::Map<dynamic, dynamic>? #t70 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t70 == null))
+      for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t71 in #t70{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}) {
+        final core::int #t72 = #t71.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        final core::int #t73 = #t71.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+        #t61.{core::Map::[]=}{Invariant}(#t72, #t73){(core::int, core::int) → void};
+      }
+    final core::Map<core::int, core::int>? #t74 = intMap;
+    if(!(#t74 == null))
+      #t61.{core::Map::addAll}{Invariant}(#t74{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t61;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map3);
+  core::Map<dynamic, dynamic> map4 = block {
+    final core::Map<dynamic, dynamic> #t75 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>? #t76 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t76 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t76{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t77 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t77 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t77{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t78 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t78 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t78{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t79 = intMap;
+    if(!(#t79 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t79{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+  } =>#t75;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::List::generate<core::int>(12, (core::int i) → core::int => i), core::List::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map4);
+}
+static method main() → dynamic {
+  self::useAddAll();
+  self::useAddAllNullable();
+}
+static method expect(core::Map<dynamic, dynamic> map1, core::Map<dynamic, dynamic> map2) → void {
+  if(!(map1.{core::Map::length}{core::int} =={core::num::==}{(core::Object) → core::bool} map2.{core::Map::length}{core::int})) {
+    throw "Unexpected length. Expected ${map1.{core::Map::length}{core::int}}, actual ${map2.{core::Map::length}{core::int}}.";
+  }
+  for (core::MapEntry<dynamic, dynamic> entry in map1.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}) {
+    if(!map2.{core::Map::containsKey}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → core::bool}) {
+      throw "Key ${entry.{core::MapEntry::key}{dynamic}} not found. Expected ${map1}, actual ${map2}.";
+    }
+    if(!(map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → dynamic} =={core::Object::==}{(core::Object) → core::bool} entry.{core::MapEntry::value}{dynamic})) {
+      throw "Found value ${map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → dynamic}} expected ${entry.{core::MapEntry::value}{dynamic}} for key ${entry.{core::MapEntry::key}{dynamic}}.";
+    }
+  }
+  if(!(map1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} map2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${map1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${map2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.outline.expect b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.outline.expect
new file mode 100644
index 0000000..4f3a3ce
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.outline.expect
@@ -0,0 +1,12 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method useAddAll() → void
+  ;
+static method useAddAllNullable() → void
+  ;
+static method main() → dynamic
+  ;
+static method expect(core::Map<dynamic, dynamic> map1, core::Map<dynamic, dynamic> map2) → void
+  ;
diff --git a/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.transformed.expect
new file mode 100644
index 0000000..bf49151
--- /dev/null
+++ b/pkg/front_end/testcases/unified_collections/map_add_all_nnbd.dart.weak.transformed.expect
@@ -0,0 +1,318 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+import "dart:collection" as col;
+
+static method useAddAll() → void {
+  dynamic dynamicMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num, core::num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <core::int?, core::int?>{6: 106, 7: 107, 8: 108};
+  core::Map<core::int, core::int> intMap = <core::int, core::int>{9: 109, 10: 110, 11: 111};
+  core::Map<core::int, core::int> map1 = block {
+    final core::Map<core::int, core::int> #t1 = <core::int, core::int>{};
+    {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t3 = #t2.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t4 = #t2.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t1.{core::Map::[]=}{Invariant}(#t3, #t4){(core::int, core::int) → void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t5 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t6 = #t5.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t7 = #t5.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t1.{core::Map::[]=}{Invariant}(#t6, #t7){(core::int, core::int) → void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t8 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t9 = #t8.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t10 = #t8.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t1.{core::Map::[]=}{Invariant}(#t9, #t10){(core::int, core::int) → void};
+        }
+      }
+    }
+    #t1.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int, core::int>) → void};
+  } =>#t1;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map1);
+  core::Map<core::num, core::num> map2 = block {
+    final core::Map<core::num, core::num> #t11 = <core::num, core::num>{};
+    {
+      core::Iterator<core::MapEntry<core::num, core::num>> :sync-for-iterator = (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::num>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t12 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::num>};
+        {
+          final core::num #t13 = #t12.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          final core::num #t14 = #t12.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          #t11.{core::Map::[]=}{Invariant}(#t13, #t14){(core::num, core::num) → void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::num, core::num>> :sync-for-iterator = (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::num>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t15 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::num>};
+        {
+          final core::num #t16 = #t15.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          final core::num #t17 = #t15.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          #t11.{core::Map::[]=}{Invariant}(#t16, #t17){(core::num, core::num) → void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::num, core::num>> :sync-for-iterator = (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::num>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t18 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::num>};
+        {
+          final core::num #t19 = #t18.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          final core::num #t20 = #t18.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          #t11.{core::Map::[]=}{Invariant}(#t19, #t20){(core::num, core::num) → void};
+        }
+      }
+    }
+    #t11.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::num, core::num>) → void};
+  } =>#t11;
+  self::expect(col::LinkedHashMap::fromIterables<core::num, core::num>(core::_GrowableList::generate<core::num>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::num>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map2);
+  core::Map<core::int, core::int> map3 = block {
+    final core::Map<core::int, core::int> #t21 = <core::int, core::int>{};
+    {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = (dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t22 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t23 = #t22.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t24 = #t22.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t21.{core::Map::[]=}{Invariant}(#t23, #t24){(core::int, core::int) → void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = (dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t25 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t26 = #t25.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t27 = #t25.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t21.{core::Map::[]=}{Invariant}(#t26, #t27){(core::int, core::int) → void};
+        }
+      }
+    }
+    {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = (dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>).{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t28 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t29 = #t28.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t30 = #t28.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t21.{core::Map::[]=}{Invariant}(#t29, #t30){(core::int, core::int) → void};
+        }
+      }
+    }
+    #t21.{core::Map::addAll}{Invariant}(intMap){(core::Map<core::int, core::int>) → void};
+  } =>#t21;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map3);
+  core::Map<dynamic, dynamic> map4 = block {
+    final core::Map<dynamic, dynamic> #t31 = col::LinkedHashMap::of<dynamic, dynamic>(dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>);
+    #t31.{core::Map::addAll}{Invariant}(dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t31.{core::Map::addAll}{Invariant}(dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>){(core::Map<dynamic, dynamic>) → void};
+    #t31.{core::Map::addAll}{Invariant}(intMap){(core::Map<dynamic, dynamic>) → void};
+  } =>#t31;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map4);
+  {
+    core::Map<core::int, core::int> intMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+    core::Map<core::int, core::int> intMap2 = <core::int, core::int>{3: 103, 4: 104, 5: 105};
+    core::Map<core::int, core::int> map = block {
+      final core::Map<core::int, core::int> #t32 = col::LinkedHashMap::of<core::int, core::int>(intMap1);
+      #t32.{core::Map::addAll}{Invariant}(intMap2){(core::Map<core::int, core::int>) → void};
+    } =>#t32;
+    self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::_GrowableList::generate<core::int>(6, (core::int i) → core::int => i), core::_GrowableList::generate<core::int>(6, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map);
+  }
+}
+static method useAddAllNullable() → void {
+  dynamic dynamicMap1 = <core::int, core::int>{0: 100, 1: 101, 2: 102};
+  dynamic dynamicMap2 = <core::num, core::num>{3: 103, 4: 104, 5: 105};
+  dynamic dynamicMap3 = <core::int?, core::int?>{6: 106, 7: 107, 8: 108};
+  core::Map<core::int, core::int>? intMap = true ?{core::Map<core::int, core::int>?} <core::int, core::int>{9: 109, 10: 110, 11: 111} : null;
+  core::Map<core::int, core::int> map1 = block {
+    final core::Map<core::int, core::int> #t33 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t34 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t34 == null)) {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t34{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t35 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t36 = #t35.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t37 = #t35.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t33.{core::Map::[]=}{Invariant}(#t36, #t37){(core::int, core::int) → void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>? #t38 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t38 == null)) {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t38{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t39 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t40 = #t39.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t41 = #t39.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t33.{core::Map::[]=}{Invariant}(#t40, #t41){(core::int, core::int) → void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>? #t42 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t42 == null)) {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t42{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t43 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t44 = #t43.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t45 = #t43.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t33.{core::Map::[]=}{Invariant}(#t44, #t45){(core::int, core::int) → void};
+        }
+      }
+    }
+    final core::Map<core::int, core::int>? #t46 = intMap;
+    if(!(#t46 == null))
+      #t33.{core::Map::addAll}{Invariant}(#t46{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t33;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map1);
+  core::Map<core::num, core::num> map2 = block {
+    final core::Map<core::num, core::num> #t47 = <core::num, core::num>{};
+    final core::Map<dynamic, dynamic>? #t48 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t48 == null)) {
+      core::Iterator<core::MapEntry<core::num, core::num>> :sync-for-iterator = #t48{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::num>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t49 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::num>};
+        {
+          final core::num #t50 = #t49.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          final core::num #t51 = #t49.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          #t47.{core::Map::[]=}{Invariant}(#t50, #t51){(core::num, core::num) → void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>? #t52 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t52 == null)) {
+      core::Iterator<core::MapEntry<core::num, core::num>> :sync-for-iterator = #t52{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::num>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t53 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::num>};
+        {
+          final core::num #t54 = #t53.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          final core::num #t55 = #t53.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          #t47.{core::Map::[]=}{Invariant}(#t54, #t55){(core::num, core::num) → void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>? #t56 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t56 == null)) {
+      core::Iterator<core::MapEntry<core::num, core::num>> :sync-for-iterator = #t56{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::num, core::num>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::num, core::num>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t57 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::num, core::num>};
+        {
+          final core::num #t58 = #t57.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          final core::num #t59 = #t57.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::num;
+          #t47.{core::Map::[]=}{Invariant}(#t58, #t59){(core::num, core::num) → void};
+        }
+      }
+    }
+    final core::Map<core::num, core::num>? #t60 = intMap;
+    if(!(#t60 == null))
+      #t47.{core::Map::addAll}{Invariant}(#t60{core::Map<core::num, core::num>}){(core::Map<core::num, core::num>) → void};
+  } =>#t47;
+  self::expect(col::LinkedHashMap::fromIterables<core::num, core::num>(core::_GrowableList::generate<core::num>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::num>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map2);
+  core::Map<core::int, core::int> map3 = block {
+    final core::Map<core::int, core::int> #t61 = <core::int, core::int>{};
+    final core::Map<dynamic, dynamic>? #t62 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t62 == null)) {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t62{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t63 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t64 = #t63.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t65 = #t63.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t61.{core::Map::[]=}{Invariant}(#t64, #t65){(core::int, core::int) → void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>? #t66 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t66 == null)) {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t66{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t67 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t68 = #t67.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t69 = #t67.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t61.{core::Map::[]=}{Invariant}(#t68, #t69){(core::int, core::int) → void};
+        }
+      }
+    }
+    final core::Map<dynamic, dynamic>? #t70 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t70 == null)) {
+      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = #t70{core::Map<dynamic, dynamic>}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final core::MapEntry<dynamic, dynamic> #t71 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
+        {
+          final core::int #t72 = #t71.{core::MapEntry::key}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          final core::int #t73 = #t71.{core::MapEntry::value}{dynamic} as{TypeError,ForNonNullableByDefault} core::int;
+          #t61.{core::Map::[]=}{Invariant}(#t72, #t73){(core::int, core::int) → void};
+        }
+      }
+    }
+    final core::Map<core::int, core::int>? #t74 = intMap;
+    if(!(#t74 == null))
+      #t61.{core::Map::addAll}{Invariant}(#t74{core::Map<core::int, core::int>}){(core::Map<core::int, core::int>) → void};
+  } =>#t61;
+  self::expect(col::LinkedHashMap::fromIterables<core::int, core::int>(core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map3);
+  core::Map<dynamic, dynamic> map4 = block {
+    final core::Map<dynamic, dynamic> #t75 = <dynamic, dynamic>{};
+    final core::Map<dynamic, dynamic>? #t76 = dynamicMap1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t76 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t76{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t77 = dynamicMap2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t77 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t77{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t78 = dynamicMap3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Map<dynamic, dynamic>?;
+    if(!(#t78 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t78{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+    final core::Map<dynamic, dynamic>? #t79 = intMap;
+    if(!(#t79 == null))
+      #t75.{core::Map::addAll}{Invariant}(#t79{core::Map<dynamic, dynamic>}){(core::Map<dynamic, dynamic>) → void};
+  } =>#t75;
+  self::expect(col::LinkedHashMap::fromIterables<dynamic, dynamic>(core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => i), core::_GrowableList::generate<core::int>(12, (core::int i) → core::int => 100.{core::num::+}(i){(core::num) → core::int})), map4);
+}
+static method main() → dynamic {
+  self::useAddAll();
+  self::useAddAllNullable();
+}
+static method expect(core::Map<dynamic, dynamic> map1, core::Map<dynamic, dynamic> map2) → void {
+  if(!(map1.{core::Map::length}{core::int} =={core::num::==}{(core::Object) → core::bool} map2.{core::Map::length}{core::int})) {
+    throw "Unexpected length. Expected ${map1.{core::Map::length}{core::int}}, actual ${map2.{core::Map::length}{core::int}}.";
+  }
+  {
+    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = map1.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+      core::MapEntry<dynamic, dynamic> entry = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
+      {
+        if(!map2.{core::Map::containsKey}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → core::bool}) {
+          throw "Key ${entry.{core::MapEntry::key}{dynamic}} not found. Expected ${map1}, actual ${map2}.";
+        }
+        if(!(map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → dynamic} =={core::Object::==}{(core::Object) → core::bool} entry.{core::MapEntry::value}{dynamic})) {
+          throw "Found value ${map2.{core::Map::[]}(entry.{core::MapEntry::key}{dynamic}){(core::Object?) → dynamic}} expected ${entry.{core::MapEntry::value}{dynamic}} for key ${entry.{core::MapEntry::key}{dynamic}}.";
+        }
+      }
+    }
+  }
+  if(!(map1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} map2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${map1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${map2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
+}
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
index a85bfed..a880909 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.expect
@@ -49,103 +49,94 @@
   if(self::b)
     #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
   else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Map<dynamic, dynamic> map2 = block {
+  final core::Map<dynamic, dynamic> #t2 = <dynamic, dynamic>{};
+  if(self::b)
+    #t2.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
+  else
+    #t2.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
+} =>#t2;
+static field core::Map<dynamic, dynamic> map3 = block {
   final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
   if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t4 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t3.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
   else
-    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
+    #t3.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
 } =>#t3;
-static field core::Map<dynamic, dynamic> map3 = block {
-  final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
-  if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t6 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-  else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t7 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-} =>#t5;
 static field core::Map<dynamic, core::int> map4 = block {
+  final core::Map<dynamic, core::int> #t4 = <dynamic, core::int>{};
+  if(self::b)
+    #t4.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+  else
+    for (dynamic a in self::list)
+      #t4.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+} =>#t4;
+static field core::Map<dynamic, core::int> map5 = block {
+  final core::Map<dynamic, core::int> #t5 = <dynamic, core::int>{};
+  if(self::b)
+    for (dynamic a in self::list)
+      #t5.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+  else
+    #t5.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t5;
+static field core::Map<dynamic, core::int> map6 = block {
+  final core::Map<dynamic, core::int> #t6 = <dynamic, core::int>{};
+  if(self::b)
+    #t6.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+  else
+    for (dynamic a in self::list)
+      #t6.{core::Map::addAll}{Invariant}(<dynamic, core::int>{a: 1}){(core::Map<dynamic, core::int>) → void};
+} =>#t6;
+static field core::Map<dynamic, core::int> map7 = block {
+  final core::Map<dynamic, core::int> #t7 = <dynamic, core::int>{};
+  if(self::b)
+    for (dynamic a in self::list)
+      #t7.{core::Map::addAll}{Invariant}(<dynamic, core::int>{a: 1}){(core::Map<dynamic, core::int>) → void};
+  else
+    #t7.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t7;
+static field core::Map<dynamic, core::int> map8 = block {
   final core::Map<dynamic, core::int> #t8 = <dynamic, core::int>{};
   if(self::b)
     #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (dynamic a in self::list)
-      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t8.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
 } =>#t8;
-static field core::Map<dynamic, core::int> map5 = block {
+static field core::Map<dynamic, core::int> map9 = block {
   final core::Map<dynamic, core::int> #t9 = <dynamic, core::int>{};
   if(self::b)
-    for (dynamic a in self::list)
-      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t9.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
   else
     #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t9;
-static field core::Map<dynamic, core::int> map6 = block {
+static field core::Map<dynamic, core::int> map10 = block {
   final core::Map<dynamic, core::int> #t10 = <dynamic, core::int>{};
   if(self::b)
     #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t11 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t10.{core::Map::addAll}{Invariant}(<dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}){(core::Map<dynamic, core::int>) → void};
 } =>#t10;
-static field core::Map<dynamic, core::int> map7 = block {
-  final core::Map<dynamic, core::int> #t12 = <dynamic, core::int>{};
-  if(self::b)
-    for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t13 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-  else
-    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t12;
-static field core::Map<dynamic, core::int> map8 = block {
-  final core::Map<dynamic, core::int> #t14 = <dynamic, core::int>{};
-  if(self::b)
-    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
-} =>#t14;
-static field core::Map<dynamic, core::int> map9 = block {
-  final core::Map<dynamic, core::int> #t15 = <dynamic, core::int>{};
-  if(self::b)
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
-  else
-    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t15;
-static field core::Map<dynamic, core::int> map10 = block {
-  final core::Map<dynamic, core::int> #t16 = <dynamic, core::int>{};
-  if(self::b)
-    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t17 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-} =>#t16;
 static field core::Map<dynamic, core::int> map11 = block {
-  final core::Map<dynamic, core::int> #t18 = <dynamic, core::int>{};
+  final core::Map<dynamic, core::int> #t11 = <dynamic, core::int>{};
   if(self::b)
     for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t19 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
+      #t11.{core::Map::addAll}{Invariant}(<dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}){(core::Map<dynamic, core::int>) → void};
   else
-    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t18;
+    #t11.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t11;
 static field core::Map<core::int, core::int> map12 = block {
-  final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
+  final core::Map<core::int, core::int> #t12 = <core::int, core::int>{};
   if(self::b)
-    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
+    #t12.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
   else
     if(self::b)
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t21 in <core::int, core::int>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int}, #t21.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-} =>#t20;
+      #t12.{core::Map::addAll}{Invariant}(<core::int, core::int>{0: 1}){(core::Map<core::int, core::int>) → void};
+} =>#t12;
 static field core::Map<dynamic, Null> error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:33:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error4 = {if (b) 0: 1 else for (var a in list) a};
                                ^": null};
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect
index a85bfed..a880909 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.modular.expect
@@ -49,103 +49,94 @@
   if(self::b)
     #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
   else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t2 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t1.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Map<dynamic, dynamic> map2 = block {
+  final core::Map<dynamic, dynamic> #t2 = <dynamic, dynamic>{};
+  if(self::b)
+    #t2.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
+  else
+    #t2.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
+} =>#t2;
+static field core::Map<dynamic, dynamic> map3 = block {
   final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
   if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t4 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+    #t3.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
   else
-    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
+    #t3.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
 } =>#t3;
-static field core::Map<dynamic, dynamic> map3 = block {
-  final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
-  if(self::b)
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t6 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-  else
-    for (final has-declared-initializer core::MapEntry<dynamic, dynamic> #t7 in self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>})
-      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-} =>#t5;
 static field core::Map<dynamic, core::int> map4 = block {
+  final core::Map<dynamic, core::int> #t4 = <dynamic, core::int>{};
+  if(self::b)
+    #t4.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+  else
+    for (dynamic a in self::list)
+      #t4.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+} =>#t4;
+static field core::Map<dynamic, core::int> map5 = block {
+  final core::Map<dynamic, core::int> #t5 = <dynamic, core::int>{};
+  if(self::b)
+    for (dynamic a in self::list)
+      #t5.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+  else
+    #t5.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t5;
+static field core::Map<dynamic, core::int> map6 = block {
+  final core::Map<dynamic, core::int> #t6 = <dynamic, core::int>{};
+  if(self::b)
+    #t6.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+  else
+    for (dynamic a in self::list)
+      #t6.{core::Map::addAll}{Invariant}(<dynamic, core::int>{a: 1}){(core::Map<dynamic, core::int>) → void};
+} =>#t6;
+static field core::Map<dynamic, core::int> map7 = block {
+  final core::Map<dynamic, core::int> #t7 = <dynamic, core::int>{};
+  if(self::b)
+    for (dynamic a in self::list)
+      #t7.{core::Map::addAll}{Invariant}(<dynamic, core::int>{a: 1}){(core::Map<dynamic, core::int>) → void};
+  else
+    #t7.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t7;
+static field core::Map<dynamic, core::int> map8 = block {
   final core::Map<dynamic, core::int> #t8 = <dynamic, core::int>{};
   if(self::b)
     #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (dynamic a in self::list)
-      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t8.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
 } =>#t8;
-static field core::Map<dynamic, core::int> map5 = block {
+static field core::Map<dynamic, core::int> map9 = block {
   final core::Map<dynamic, core::int> #t9 = <dynamic, core::int>{};
   if(self::b)
-    for (dynamic a in self::list)
-      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t9.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
   else
     #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t9;
-static field core::Map<dynamic, core::int> map6 = block {
+static field core::Map<dynamic, core::int> map10 = block {
   final core::Map<dynamic, core::int> #t10 = <dynamic, core::int>{};
   if(self::b)
     #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
   else
-    for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t11 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t10.{core::Map::addAll}{Invariant}(<dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}){(core::Map<dynamic, core::int>) → void};
 } =>#t10;
-static field core::Map<dynamic, core::int> map7 = block {
-  final core::Map<dynamic, core::int> #t12 = <dynamic, core::int>{};
-  if(self::b)
-    for (dynamic a in self::list)
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t13 in <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-  else
-    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t12;
-static field core::Map<dynamic, core::int> map8 = block {
-  final core::Map<dynamic, core::int> #t14 = <dynamic, core::int>{};
-  if(self::b)
-    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
-} =>#t14;
-static field core::Map<dynamic, core::int> map9 = block {
-  final core::Map<dynamic, core::int> #t15 = <dynamic, core::int>{};
-  if(self::b)
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
-  else
-    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t15;
-static field core::Map<dynamic, core::int> map10 = block {
-  final core::Map<dynamic, core::int> #t16 = <dynamic, core::int>{};
-  if(self::b)
-    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t17 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-} =>#t16;
 static field core::Map<dynamic, core::int> map11 = block {
-  final core::Map<dynamic, core::int> #t18 = <dynamic, core::int>{};
+  final core::Map<dynamic, core::int> #t11 = <dynamic, core::int>{};
   if(self::b)
     for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      for (final has-declared-initializer core::MapEntry<dynamic, core::int> #t19 in <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>})
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
+      #t11.{core::Map::addAll}{Invariant}(<dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}){(core::Map<dynamic, core::int>) → void};
   else
-    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t18;
+    #t11.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t11;
 static field core::Map<core::int, core::int> map12 = block {
-  final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
+  final core::Map<core::int, core::int> #t12 = <core::int, core::int>{};
   if(self::b)
-    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
+    #t12.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
   else
     if(self::b)
-      for (final has-declared-initializer core::MapEntry<core::int, core::int> #t21 in <core::int, core::int>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>})
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int}, #t21.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-} =>#t20;
+      #t12.{core::Map::addAll}{Invariant}(<core::int, core::int>{0: 1}){(core::Map<core::int, core::int>) → void};
+} =>#t12;
 static field core::Map<dynamic, Null> error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:33:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error4 = {if (b) 0: 1 else for (var a in list) a};
                                ^": null};
diff --git a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
index 03bc08b..9ca32fe 100644
--- a/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/mixed_entries.dart.weak.transformed.expect
@@ -48,158 +48,111 @@
   final core::Map<dynamic, dynamic> #t1 = <dynamic, dynamic>{};
   if(self::b)
     #t1.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
-  else {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t2 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t1.{core::Map::[]=}{Invariant}(#t2.{core::MapEntry::key}{dynamic}, #t2.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    }
-  }
+  else
+    #t1.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
 } =>#t1;
 static field core::Map<dynamic, dynamic> map2 = block {
+  final core::Map<dynamic, dynamic> #t2 = <dynamic, dynamic>{};
+  if(self::b)
+    #t2.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
+  else
+    #t2.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
+} =>#t2;
+static field core::Map<dynamic, dynamic> map3 = block {
   final core::Map<dynamic, dynamic> #t3 = <dynamic, dynamic>{};
-  if(self::b) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
+  if(self::b)
+    #t3.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
+  else
+    #t3.{core::Map::addAll}{Invariant}(self::map0){(core::Map<dynamic, dynamic>) → void};
+} =>#t3;
+static field core::Map<dynamic, core::int> map4 = block {
+  final core::Map<dynamic, core::int> #t4 = <dynamic, core::int>{};
+  if(self::b)
+    #t4.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+  else {
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
     for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t4 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t3.{core::Map::[]=}{Invariant}(#t4.{core::MapEntry::key}{dynamic}, #t4.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
+      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
+      #t4.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
+    }
+  }
+} =>#t4;
+static field core::Map<dynamic, core::int> map5 = block {
+  final core::Map<dynamic, core::int> #t5 = <dynamic, core::int>{};
+  if(self::b) {
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
+      #t5.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
     }
   }
   else
-    #t3.{core::Map::[]=}{Invariant}(0, 1){(dynamic, dynamic) → void};
-} =>#t3;
-static field core::Map<dynamic, dynamic> map3 = block {
-  final core::Map<dynamic, dynamic> #t5 = <dynamic, dynamic>{};
-  if(self::b) {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t6 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t5.{core::Map::[]=}{Invariant}(#t6.{core::MapEntry::key}{dynamic}, #t6.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    }
-  }
-  else {
-    core::Iterator<core::MapEntry<dynamic, dynamic>> :sync-for-iterator = self::map0.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, dynamic>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, dynamic>>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      final core::MapEntry<dynamic, dynamic> #t7 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, dynamic>};
-      #t5.{core::Map::[]=}{Invariant}(#t7.{core::MapEntry::key}{dynamic}, #t7.{core::MapEntry::value}{dynamic}){(dynamic, dynamic) → void};
-    }
-  }
+    #t5.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t5;
-static field core::Map<dynamic, core::int> map4 = block {
+static field core::Map<dynamic, core::int> map6 = block {
+  final core::Map<dynamic, core::int> #t6 = <dynamic, core::int>{};
+  if(self::b)
+    #t6.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+  else {
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
+      #t6.{core::Map::addAll}{Invariant}(<dynamic, core::int>{a: 1}){(core::Map<dynamic, core::int>) → void};
+    }
+  }
+} =>#t6;
+static field core::Map<dynamic, core::int> map7 = block {
+  final core::Map<dynamic, core::int> #t7 = <dynamic, core::int>{};
+  if(self::b) {
+    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
+      #t7.{core::Map::addAll}{Invariant}(<dynamic, core::int>{a: 1}){(core::Map<dynamic, core::int>) → void};
+    }
+  }
+  else
+    #t7.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t7;
+static field core::Map<dynamic, core::int> map8 = block {
   final core::Map<dynamic, core::int> #t8 = <dynamic, core::int>{};
   if(self::b)
     #t8.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else {
-    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
-      #t8.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
-    }
-  }
+  else
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t8.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
 } =>#t8;
-static field core::Map<dynamic, core::int> map5 = block {
+static field core::Map<dynamic, core::int> map9 = block {
   final core::Map<dynamic, core::int> #t9 = <dynamic, core::int>{};
-  if(self::b) {
-    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
-      #t9.{core::Map::[]=}{Invariant}(a, 1){(dynamic, core::int) → void};
-    }
-  }
+  if(self::b)
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t9.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
   else
     #t9.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
 } =>#t9;
-static field core::Map<dynamic, core::int> map6 = block {
+static field core::Map<dynamic, core::int> map10 = block {
   final core::Map<dynamic, core::int> #t10 = <dynamic, core::int>{};
   if(self::b)
     #t10.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else {
-    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
-      {
-        core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, core::int> #t11 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
-          #t10.{core::Map::[]=}{Invariant}(#t11.{core::MapEntry::key}{dynamic}, #t11.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-        }
-      }
-    }
-  }
+  else
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t10.{core::Map::addAll}{Invariant}(<dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}){(core::Map<dynamic, core::int>) → void};
 } =>#t10;
-static field core::Map<dynamic, core::int> map7 = block {
-  final core::Map<dynamic, core::int> #t12 = <dynamic, core::int>{};
-  if(self::b) {
-    core::Iterator<dynamic> :sync-for-iterator = self::list.{core::Iterable::iterator}{core::Iterator<dynamic>};
-    for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-      dynamic a = :sync-for-iterator.{core::Iterator::current}{dynamic};
-      {
-        core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{a: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
-        for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-          final core::MapEntry<dynamic, core::int> #t13 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
-          #t12.{core::Map::[]=}{Invariant}(#t13.{core::MapEntry::key}{dynamic}, #t13.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-        }
-      }
-    }
-  }
-  else
-    #t12.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t12;
-static field core::Map<dynamic, core::int> map8 = block {
-  final core::Map<dynamic, core::int> #t14 = <dynamic, core::int>{};
-  if(self::b)
-    #t14.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t14.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
-} =>#t14;
-static field core::Map<dynamic, core::int> map9 = block {
-  final core::Map<dynamic, core::int> #t15 = <dynamic, core::int>{};
-  if(self::b)
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t15.{core::Map::[]=}{Invariant}(self::list.{core::List::[]}(i){(core::int) → dynamic}, 1){(dynamic, core::int) → void};
-  else
-    #t15.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t15;
-static field core::Map<dynamic, core::int> map10 = block {
-  final core::Map<dynamic, core::int> #t16 = <dynamic, core::int>{};
-  if(self::b)
-    #t16.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-  else
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, core::int> #t17 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
-        #t16.{core::Map::[]=}{Invariant}(#t17.{core::MapEntry::key}{dynamic}, #t17.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-      }
-    }
-} =>#t16;
 static field core::Map<dynamic, core::int> map11 = block {
-  final core::Map<dynamic, core::int> #t18 = <dynamic, core::int>{};
+  final core::Map<dynamic, core::int> #t11 = <dynamic, core::int>{};
   if(self::b)
-    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int}) {
-      core::Iterator<core::MapEntry<dynamic, core::int>> :sync-for-iterator = <dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<dynamic, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<dynamic, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<dynamic, core::int> #t19 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<dynamic, core::int>};
-        #t18.{core::Map::[]=}{Invariant}(#t19.{core::MapEntry::key}{dynamic}, #t19.{core::MapEntry::value}{core::int}){(dynamic, core::int) → void};
-      }
-    }
+    for (core::int i = 0; i.{core::num::<}(self::list.{core::List::length}{core::int}){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
+      #t11.{core::Map::addAll}{Invariant}(<dynamic, core::int>{self::list.{core::List::[]}(i){(core::int) → dynamic}: 1}){(core::Map<dynamic, core::int>) → void};
   else
-    #t18.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
-} =>#t18;
+    #t11.{core::Map::[]=}{Invariant}(0, 1){(dynamic, core::int) → void};
+} =>#t11;
 static field core::Map<core::int, core::int> map12 = block {
-  final core::Map<core::int, core::int> #t20 = <core::int, core::int>{};
+  final core::Map<core::int, core::int> #t12 = <core::int, core::int>{};
   if(self::b)
-    #t20.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
+    #t12.{core::Map::[]=}{Invariant}(0, 1){(core::int, core::int) → void};
   else
-    if(self::b) {
-      core::Iterator<core::MapEntry<core::int, core::int>> :sync-for-iterator = <core::int, core::int>{0: 1}.{core::Map::entries}{core::Iterable<core::MapEntry<core::int, core::int>>}.{core::Iterable::iterator}{core::Iterator<core::MapEntry<core::int, core::int>>};
-      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final core::MapEntry<core::int, core::int> #t21 = :sync-for-iterator.{core::Iterator::current}{core::MapEntry<core::int, core::int>};
-        #t20.{core::Map::[]=}{Invariant}(#t21.{core::MapEntry::key}{core::int}, #t21.{core::MapEntry::value}{core::int}){(core::int, core::int) → void};
-      }
-    }
-} =>#t20;
+    if(self::b)
+      #t12.{core::Map::addAll}{Invariant}(<core::int, core::int>{0: 1}){(core::Map<core::int, core::int>) → void};
+} =>#t12;
 static field core::Map<dynamic, Null> error4 = <dynamic, Null>{invalid-expression "pkg/front_end/testcases/unified_collections/mixed_entries.dart:33:32: Error: Both Iterable and Map spread elements encountered in ambiguous literal.
 var error4 = {if (b) 0: 1 else for (var a in list) a};
                                ^": null};
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all.dart b/pkg/front_end/testcases/unified_collections/set_add_all.dart
index d1b77d0..a3ad4e9 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all.dart
+++ b/pkg/front_end/testcases/unified_collections/set_add_all.dart
@@ -65,6 +65,65 @@
   };
 
   expect(new List<num>.generate(24, (int i) => i).toSet(), set4);
+
+  Set<int> set5 = {
+    ...dynamicSet1,
+    ...dynamicSet2,
+    ...iterableIntSet,
+    ...iterableNumSet1,
+    ...iterableNumSet2,
+    ...intSet,
+    ...numSet1,
+    ...numSet2
+  };
+
+  expect(new List<int>.generate(24, (int i) => i).toSet(), set5);
+
+  var set6 = {
+    ...dynamicSet1,
+    ...dynamicSet2,
+    ...iterableIntSet,
+    ...iterableNumSet1,
+    ...iterableNumSet2,
+    ...intSet,
+    ...numSet1,
+    ...numSet2
+  };
+
+  expect(new List<dynamic>.generate(24, (int i) => i).toSet(), set6);
+
+  Set<int> set7 = {
+    ...?dynamicSet1,
+    ...?dynamicSet2,
+    ...?iterableIntSet,
+    ...?iterableNumSet1,
+    ...?iterableNumSet2,
+    ...?intSet,
+    ...?numSet1,
+    ...?numSet2
+  };
+
+  expect(new List<int>.generate(24, (int i) => i).toSet(), set7);
+
+  var set8 = {
+    ...?dynamicSet1,
+    ...?dynamicSet2,
+    ...?iterableIntSet,
+    ...?iterableNumSet1,
+    ...?iterableNumSet2,
+    ...?intSet,
+    ...?numSet1,
+    ...?numSet2
+  };
+
+  expect(new List<dynamic>.generate(24, (int i) => i).toSet(), set8);
+
+  {
+    Set<int> intSet1 = {0, 1, 2};
+    Set<int> intSet2 = {3, 4, 5};
+    var set = {...intSet1, ...intSet2};
+    expect(new List<int>.generate(6, (int i) => i).toSet(), set);
+  }
 }
 
 main() {
@@ -80,4 +139,8 @@
       throw 'Element $element not found. Expected $set1, actual $set2.';
     }
   }
+  if (set1.runtimeType.toString() != set2.runtimeType.toString()) {
+    throw "Runtime time difference: "
+        "${set1.runtimeType.toString()} vs ${set2.runtimeType.toString()}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect
index 085a8a3..53feaa1 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.expect
@@ -181,6 +181,140 @@
       #t48.{core::Set::addAll}{Invariant}(#t60){(core::Iterable<core::num*>*) →* void};
   } =>#t48;
   self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set4);
+  core::Set<core::int*>* set5 = block {
+    final core::Set<core::int*>* #t61 = col::LinkedHashSet::•<core::int*>();
+    for (final has-declared-initializer dynamic #t62 in dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t63 = #t62 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t63){(core::int*) →* core::bool*};
+    }
+    for (final has-declared-initializer dynamic #t64 in dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t65 = #t64 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t65){(core::int*) →* core::bool*};
+    }
+    #t61.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t66 in iterableNumSet1) {
+      final core::int* #t67 = #t66 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t67){(core::int*) →* core::bool*};
+    }
+    for (final has-declared-initializer dynamic #t68 in iterableNumSet2) {
+      final core::int* #t69 = #t68 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t69){(core::int*) →* core::bool*};
+    }
+    #t61.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t70 in numSet1) {
+      final core::int* #t71 = #t70 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t71){(core::int*) →* core::bool*};
+    }
+    for (final has-declared-initializer dynamic #t72 in numSet2) {
+      final core::int* #t73 = #t72 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t73){(core::int*) →* core::bool*};
+    }
+  } =>#t61;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set5);
+  core::Set<dynamic>* set6 = block {
+    final core::Set<dynamic>* #t74 = col::LinkedHashSet::of<dynamic>(dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t74.{core::Set::addAll}{Invariant}(dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableNumSet1){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableNumSet2){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(numSet1){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(numSet2){(core::Iterable<dynamic>*) →* void};
+  } =>#t74;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set6);
+  core::Set<core::int*>* set7 = block {
+    final core::Set<core::int*>* #t75 = col::LinkedHashSet::•<core::int*>();
+    final core::Iterable<dynamic>* #t76 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t76 == null))
+      for (final has-declared-initializer dynamic #t77 in #t76) {
+        final core::int* #t78 = #t77 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t78){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<dynamic>* #t79 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t79 == null))
+      for (final has-declared-initializer dynamic #t80 in #t79) {
+        final core::int* #t81 = #t80 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t81){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<core::int*>* #t82 = iterableIntSet;
+    if(!(#t82 == null))
+      #t75.{core::Set::addAll}{Invariant}(#t82){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t83 = iterableNumSet1;
+    if(!(#t83 == null))
+      for (final has-declared-initializer dynamic #t84 in #t83) {
+        final core::int* #t85 = #t84 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t85){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<dynamic>* #t86 = iterableNumSet2;
+    if(!(#t86 == null))
+      for (final has-declared-initializer dynamic #t87 in #t86) {
+        final core::int* #t88 = #t87 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t88){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<core::int*>* #t89 = intSet;
+    if(!(#t89 == null))
+      #t75.{core::Set::addAll}{Invariant}(#t89){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t90 = numSet1;
+    if(!(#t90 == null))
+      for (final has-declared-initializer dynamic #t91 in #t90) {
+        final core::int* #t92 = #t91 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t92){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<dynamic>* #t93 = numSet2;
+    if(!(#t93 == null))
+      for (final has-declared-initializer dynamic #t94 in #t93) {
+        final core::int* #t95 = #t94 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t95){(core::int*) →* core::bool*};
+      }
+  } =>#t75;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set7);
+  core::Set<dynamic>* set8 = block {
+    final core::Set<dynamic>* #t96 = col::LinkedHashSet::•<dynamic>();
+    final core::Iterable<dynamic>* #t97 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t97 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t97){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t98 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t98 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t98){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t99 = iterableIntSet;
+    if(!(#t99 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t99){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t100 = iterableNumSet1;
+    if(!(#t100 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t100){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t101 = iterableNumSet2;
+    if(!(#t101 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t101){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t102 = intSet;
+    if(!(#t102 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t102){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t103 = numSet1;
+    if(!(#t103 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t103){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t104 = numSet2;
+    if(!(#t104 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t104){(core::Iterable<dynamic>*) →* void};
+  } =>#t96;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set8);
+  {
+    core::Set<core::int*>* intSet1 = block {
+      final core::Set<core::int*>* #t105 = col::LinkedHashSet::•<core::int*>();
+      #t105.{core::Set::add}{Invariant}(0){(core::int*) →* core::bool*};
+      #t105.{core::Set::add}{Invariant}(1){(core::int*) →* core::bool*};
+      #t105.{core::Set::add}{Invariant}(2){(core::int*) →* core::bool*};
+    } =>#t105;
+    core::Set<core::int*>* intSet2 = block {
+      final core::Set<core::int*>* #t106 = col::LinkedHashSet::•<core::int*>();
+      #t106.{core::Set::add}{Invariant}(3){(core::int*) →* core::bool*};
+      #t106.{core::Set::add}{Invariant}(4){(core::int*) →* core::bool*};
+      #t106.{core::Set::add}{Invariant}(5){(core::int*) →* core::bool*};
+    } =>#t106;
+    core::Set<core::int*>* set = block {
+      final core::Set<core::int*>* #t107 = col::LinkedHashSet::of<core::int*>(intSet1);
+      #t107.{core::Set::addAll}{Invariant}(intSet2){(core::Iterable<core::int*>*) →* void};
+    } =>#t107;
+    self::expect(core::List::generate<core::int*>(6, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set);
+  }
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -194,4 +328,7 @@
       throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
     }
   }
+  if(!(set1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} set2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${set1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${set2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.modular.expect
index 085a8a3..53feaa1 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.modular.expect
@@ -181,6 +181,140 @@
       #t48.{core::Set::addAll}{Invariant}(#t60){(core::Iterable<core::num*>*) →* void};
   } =>#t48;
   self::expect(core::List::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set4);
+  core::Set<core::int*>* set5 = block {
+    final core::Set<core::int*>* #t61 = col::LinkedHashSet::•<core::int*>();
+    for (final has-declared-initializer dynamic #t62 in dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t63 = #t62 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t63){(core::int*) →* core::bool*};
+    }
+    for (final has-declared-initializer dynamic #t64 in dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*) {
+      final core::int* #t65 = #t64 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t65){(core::int*) →* core::bool*};
+    }
+    #t61.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t66 in iterableNumSet1) {
+      final core::int* #t67 = #t66 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t67){(core::int*) →* core::bool*};
+    }
+    for (final has-declared-initializer dynamic #t68 in iterableNumSet2) {
+      final core::int* #t69 = #t68 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t69){(core::int*) →* core::bool*};
+    }
+    #t61.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::int*>*) →* void};
+    for (final has-declared-initializer dynamic #t70 in numSet1) {
+      final core::int* #t71 = #t70 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t71){(core::int*) →* core::bool*};
+    }
+    for (final has-declared-initializer dynamic #t72 in numSet2) {
+      final core::int* #t73 = #t72 as{TypeError} core::int*;
+      #t61.{core::Set::add}{Invariant}(#t73){(core::int*) →* core::bool*};
+    }
+  } =>#t61;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set5);
+  core::Set<dynamic>* set6 = block {
+    final core::Set<dynamic>* #t74 = col::LinkedHashSet::of<dynamic>(dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t74.{core::Set::addAll}{Invariant}(dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableNumSet1){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableNumSet2){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(numSet1){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(numSet2){(core::Iterable<dynamic>*) →* void};
+  } =>#t74;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set6);
+  core::Set<core::int*>* set7 = block {
+    final core::Set<core::int*>* #t75 = col::LinkedHashSet::•<core::int*>();
+    final core::Iterable<dynamic>* #t76 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t76 == null))
+      for (final has-declared-initializer dynamic #t77 in #t76) {
+        final core::int* #t78 = #t77 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t78){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<dynamic>* #t79 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t79 == null))
+      for (final has-declared-initializer dynamic #t80 in #t79) {
+        final core::int* #t81 = #t80 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t81){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<core::int*>* #t82 = iterableIntSet;
+    if(!(#t82 == null))
+      #t75.{core::Set::addAll}{Invariant}(#t82){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t83 = iterableNumSet1;
+    if(!(#t83 == null))
+      for (final has-declared-initializer dynamic #t84 in #t83) {
+        final core::int* #t85 = #t84 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t85){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<dynamic>* #t86 = iterableNumSet2;
+    if(!(#t86 == null))
+      for (final has-declared-initializer dynamic #t87 in #t86) {
+        final core::int* #t88 = #t87 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t88){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<core::int*>* #t89 = intSet;
+    if(!(#t89 == null))
+      #t75.{core::Set::addAll}{Invariant}(#t89){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t90 = numSet1;
+    if(!(#t90 == null))
+      for (final has-declared-initializer dynamic #t91 in #t90) {
+        final core::int* #t92 = #t91 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t92){(core::int*) →* core::bool*};
+      }
+    final core::Iterable<dynamic>* #t93 = numSet2;
+    if(!(#t93 == null))
+      for (final has-declared-initializer dynamic #t94 in #t93) {
+        final core::int* #t95 = #t94 as{TypeError} core::int*;
+        #t75.{core::Set::add}{Invariant}(#t95){(core::int*) →* core::bool*};
+      }
+  } =>#t75;
+  self::expect(core::List::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set7);
+  core::Set<dynamic>* set8 = block {
+    final core::Set<dynamic>* #t96 = col::LinkedHashSet::•<dynamic>();
+    final core::Iterable<dynamic>* #t97 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t97 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t97){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t98 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t98 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t98){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t99 = iterableIntSet;
+    if(!(#t99 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t99){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t100 = iterableNumSet1;
+    if(!(#t100 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t100){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t101 = iterableNumSet2;
+    if(!(#t101 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t101){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t102 = intSet;
+    if(!(#t102 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t102){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t103 = numSet1;
+    if(!(#t103 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t103){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t104 = numSet2;
+    if(!(#t104 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t104){(core::Iterable<dynamic>*) →* void};
+  } =>#t96;
+  self::expect(core::List::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set8);
+  {
+    core::Set<core::int*>* intSet1 = block {
+      final core::Set<core::int*>* #t105 = col::LinkedHashSet::•<core::int*>();
+      #t105.{core::Set::add}{Invariant}(0){(core::int*) →* core::bool*};
+      #t105.{core::Set::add}{Invariant}(1){(core::int*) →* core::bool*};
+      #t105.{core::Set::add}{Invariant}(2){(core::int*) →* core::bool*};
+    } =>#t105;
+    core::Set<core::int*>* intSet2 = block {
+      final core::Set<core::int*>* #t106 = col::LinkedHashSet::•<core::int*>();
+      #t106.{core::Set::add}{Invariant}(3){(core::int*) →* core::bool*};
+      #t106.{core::Set::add}{Invariant}(4){(core::int*) →* core::bool*};
+      #t106.{core::Set::add}{Invariant}(5){(core::int*) →* core::bool*};
+    } =>#t106;
+    core::Set<core::int*>* set = block {
+      final core::Set<core::int*>* #t107 = col::LinkedHashSet::of<core::int*>(intSet1);
+      #t107.{core::Set::addAll}{Invariant}(intSet2){(core::Iterable<core::int*>*) →* void};
+    } =>#t107;
+    self::expect(core::List::generate<core::int*>(6, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set);
+  }
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -194,4 +328,7 @@
       throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
     }
   }
+  if(!(set1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} set2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${set1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${set2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect
index be03a2d..3e729d4 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all.dart.weak.transformed.expect
@@ -269,6 +269,206 @@
       #t48.{core::Set::addAll}{Invariant}(#t60){(core::Iterable<core::num*>*) →* void};
   } =>#t48;
   self::expect(core::_GrowableList::generate<core::num*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::num*>*}, set4);
+  core::Set<core::int*>* set5 = block {
+    final core::Set<core::int*>* #t61 = new col::_CompactLinkedHashSet::•<core::int*>();
+    {
+      core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t62 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t63 = #t62 as{TypeError} core::int*;
+          #t61.{core::Set::add}{Invariant}(#t63){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    {
+      core::Iterator<dynamic>* :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*).{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t64 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t65 = #t64 as{TypeError} core::int*;
+          #t61.{core::Set::add}{Invariant}(#t65){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    #t61.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::int*>*) →* void};
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t66 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t67 = #t66 as{TypeError} core::int*;
+          #t61.{core::Set::add}{Invariant}(#t67){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = iterableNumSet2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t68 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t69 = #t68 as{TypeError} core::int*;
+          #t61.{core::Set::add}{Invariant}(#t69){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    #t61.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::int*>*) →* void};
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = numSet1.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t70 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t71 = #t70 as{TypeError} core::int*;
+          #t61.{core::Set::add}{Invariant}(#t71){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    {
+      core::Iterator<core::num*>* :sync-for-iterator = numSet2.{core::Iterable::iterator}{core::Iterator<core::num*>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t72 = :sync-for-iterator.{core::Iterator::current}{core::num*};
+        {
+          final core::int* #t73 = #t72 as{TypeError} core::int*;
+          #t61.{core::Set::add}{Invariant}(#t73){(core::int*) →* core::bool*};
+        }
+      }
+    }
+  } =>#t61;
+  self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set5);
+  core::Set<dynamic>* set6 = block {
+    final core::Set<dynamic>* #t74 = col::LinkedHashSet::of<dynamic>(dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*);
+    #t74.{core::Set::addAll}{Invariant}(dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableNumSet1){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(iterableNumSet2){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(numSet1){(core::Iterable<dynamic>*) →* void};
+    #t74.{core::Set::addAll}{Invariant}(numSet2){(core::Iterable<dynamic>*) →* void};
+  } =>#t74;
+  self::expect(core::_GrowableList::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set6);
+  core::Set<core::int*>* set7 = block {
+    final core::Set<core::int*>* #t75 = new col::_CompactLinkedHashSet::•<core::int*>();
+    final core::Iterable<dynamic>* #t76 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t76 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t76.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t77 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t78 = #t77 as{TypeError} core::int*;
+          #t75.{core::Set::add}{Invariant}(#t78){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    final core::Iterable<dynamic>* #t79 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t79 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t79.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t80 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t81 = #t80 as{TypeError} core::int*;
+          #t75.{core::Set::add}{Invariant}(#t81){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    final core::Iterable<core::int*>* #t82 = iterableIntSet;
+    if(!(#t82 == null))
+      #t75.{core::Set::addAll}{Invariant}(#t82){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t83 = iterableNumSet1;
+    if(!(#t83 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t83.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t84 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t85 = #t84 as{TypeError} core::int*;
+          #t75.{core::Set::add}{Invariant}(#t85){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    final core::Iterable<dynamic>* #t86 = iterableNumSet2;
+    if(!(#t86 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t86.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t87 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t88 = #t87 as{TypeError} core::int*;
+          #t75.{core::Set::add}{Invariant}(#t88){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    final core::Iterable<core::int*>* #t89 = intSet;
+    if(!(#t89 == null))
+      #t75.{core::Set::addAll}{Invariant}(#t89){(core::Iterable<core::int*>*) →* void};
+    final core::Iterable<dynamic>* #t90 = numSet1;
+    if(!(#t90 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t90.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t91 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t92 = #t91 as{TypeError} core::int*;
+          #t75.{core::Set::add}{Invariant}(#t92){(core::int*) →* core::bool*};
+        }
+      }
+    }
+    final core::Iterable<dynamic>* #t93 = numSet2;
+    if(!(#t93 == null)) {
+      core::Iterator<dynamic>* :sync-for-iterator = #t93.{core::Iterable::iterator}{core::Iterator<dynamic>*};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t94 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int* #t95 = #t94 as{TypeError} core::int*;
+          #t75.{core::Set::add}{Invariant}(#t95){(core::int*) →* core::bool*};
+        }
+      }
+    }
+  } =>#t75;
+  self::expect(core::_GrowableList::generate<core::int*>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set7);
+  core::Set<dynamic>* set8 = block {
+    final core::Set<dynamic>* #t96 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Iterable<dynamic>* #t97 = dynamicSet1 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t97 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t97){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t98 = dynamicSet2 as{TypeError,ForDynamic} core::Iterable<dynamic>*;
+    if(!(#t98 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t98){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t99 = iterableIntSet;
+    if(!(#t99 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t99){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t100 = iterableNumSet1;
+    if(!(#t100 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t100){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t101 = iterableNumSet2;
+    if(!(#t101 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t101){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t102 = intSet;
+    if(!(#t102 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t102){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t103 = numSet1;
+    if(!(#t103 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t103){(core::Iterable<dynamic>*) →* void};
+    final core::Iterable<dynamic>* #t104 = numSet2;
+    if(!(#t104 == null))
+      #t96.{core::Set::addAll}{Invariant}(#t104){(core::Iterable<dynamic>*) →* void};
+  } =>#t96;
+  self::expect(core::_GrowableList::generate<dynamic>(24, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<dynamic>*}, set8);
+  {
+    core::Set<core::int*>* intSet1 = block {
+      final core::Set<core::int*>* #t105 = new col::_CompactLinkedHashSet::•<core::int*>();
+      #t105.{core::Set::add}{Invariant}(0){(core::int*) →* core::bool*};
+      #t105.{core::Set::add}{Invariant}(1){(core::int*) →* core::bool*};
+      #t105.{core::Set::add}{Invariant}(2){(core::int*) →* core::bool*};
+    } =>#t105;
+    core::Set<core::int*>* intSet2 = block {
+      final core::Set<core::int*>* #t106 = new col::_CompactLinkedHashSet::•<core::int*>();
+      #t106.{core::Set::add}{Invariant}(3){(core::int*) →* core::bool*};
+      #t106.{core::Set::add}{Invariant}(4){(core::int*) →* core::bool*};
+      #t106.{core::Set::add}{Invariant}(5){(core::int*) →* core::bool*};
+    } =>#t106;
+    core::Set<core::int*>* set = block {
+      final core::Set<core::int*>* #t107 = col::LinkedHashSet::of<core::int*>(intSet1);
+      #t107.{core::Set::addAll}{Invariant}(intSet2){(core::Iterable<core::int*>*) →* void};
+    } =>#t107;
+    self::expect(core::_GrowableList::generate<core::int*>(6, (core::int* i) → core::int* => i).{core::Iterable::toSet}(){() →* core::Set<core::int*>*}, set);
+  }
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -288,4 +488,7 @@
       }
     }
   }
+  if(!(set1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*} =={core::String::==}{(core::Object*) →* core::bool*} set2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*})) {
+    throw "Runtime time difference: ${set1.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}} vs ${set2.{core::Object::runtimeType}{core::Type*}.{core::Type::toString}(){() →* core::String*}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart
index 3361e8e..f5ea124 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart
+++ b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart
@@ -28,6 +28,33 @@
   };
 
   expect(new List<num>.generate(15, (int i) => i).toSet(), set2);
+
+  Set<int> set3 = {
+    ...dynamicSet1,
+    ...dynamicSet2,
+    ...dynamicSet3,
+    ...iterableIntSet,
+    ...intSet,
+  };
+
+  expect(new List<int>.generate(15, (int i) => i).toSet(), set3);
+
+  var set4 = {
+    ...dynamicSet1,
+    ...dynamicSet2,
+    ...dynamicSet3,
+    ...iterableIntSet,
+    ...intSet,
+  };
+
+  expect(new List<dynamic>.generate(15, (int i) => i).toSet(), set4);
+
+  {
+    Set<int> intSet1 = {0, 1, 2};
+    Set<int> intSet2 = {3, 4, 5};
+    var set = {...intSet1, ...intSet2};
+    expect(new List<int>.generate(6, (int i) => i).toSet(), set);
+  }
 }
 
 void useAddAllNullable() {
@@ -56,6 +83,26 @@
   };
 
   expect(new List<num>.generate(15, (int i) => i).toSet(), set2);
+
+  Set<int> set3 = {
+    ...?dynamicSet1,
+    ...?dynamicSet2,
+    ...?dynamicSet3,
+    ...?iterableIntSet,
+    ...?intSet,
+  };
+
+  expect(new List<int>.generate(15, (int i) => i).toSet(), set3);
+
+  var set4 = {
+    ...?dynamicSet1,
+    ...?dynamicSet2,
+    ...?dynamicSet3,
+    ...?iterableIntSet,
+    ...?intSet,
+  };
+
+  expect(new List<dynamic>.generate(15, (int i) => i).toSet(), set4);
 }
 
 main() {
@@ -72,4 +119,8 @@
       throw 'Element $element not found. Expected $set1, actual $set2.';
     }
   }
+  if (set1.runtimeType.toString() != set2.runtimeType.toString()) {
+    throw "Runtime time difference: "
+        "${set1.runtimeType.toString()} vs ${set2.runtimeType.toString()}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect
index 502fb30..628d12b 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.expect
@@ -71,94 +71,186 @@
     #t13.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::num>) → void};
   } =>#t13;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
+  core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t20 = col::LinkedHashSet::•<core::int>();
+    for (final has-declared-initializer dynamic #t21 in dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t22 = #t21 as{TypeError,ForNonNullableByDefault} core::int;
+      #t20.{core::Set::add}{Invariant}(#t22){(core::int) → core::bool};
+    }
+    for (final has-declared-initializer dynamic #t23 in dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+      #t20.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
+    }
+    for (final has-declared-initializer dynamic #t25 in dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
+      #t20.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
+    }
+    #t20.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::int>) → void};
+    #t20.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::int>) → void};
+  } =>#t20;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set3);
+  core::Set<dynamic> set4 = block {
+    final core::Set<dynamic> #t27 = col::LinkedHashSet::of<dynamic>(dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t27.{core::Set::addAll}{Invariant}(dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<dynamic>) → void};
+  } =>#t27;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<dynamic>}, set4);
+  {
+    core::Set<core::int> intSet1 = block {
+      final core::Set<core::int> #t28 = col::LinkedHashSet::•<core::int>();
+      #t28.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+      #t28.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+      #t28.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    } =>#t28;
+    core::Set<core::int> intSet2 = block {
+      final core::Set<core::int> #t29 = col::LinkedHashSet::•<core::int>();
+      #t29.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+      #t29.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+      #t29.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    } =>#t29;
+    core::Set<core::int> set = block {
+      final core::Set<core::int> #t30 = col::LinkedHashSet::of<core::int>(intSet1);
+      #t30.{core::Set::addAll}{Invariant}(intSet2){(core::Iterable<core::int>) → void};
+    } =>#t30;
+    self::expect(core::List::generate<core::int>(6, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set);
+  }
 }
 static method useAddAllNullable() → void {
   dynamic dynamicSet1 = block {
-    final core::Set<core::int> #t20 = col::LinkedHashSet::•<core::int>();
-    #t20.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
-    #t20.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t20.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-  } =>#t20;
+    final core::Set<core::int> #t31 = col::LinkedHashSet::•<core::int>();
+    #t31.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+    #t31.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t31.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+  } =>#t31;
   dynamic dynamicSet2 = block {
-    final core::Set<core::num> #t21 = col::LinkedHashSet::•<core::num>();
-    #t21.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
-    #t21.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
-    #t21.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
-  } =>#t21;
+    final core::Set<core::num> #t32 = col::LinkedHashSet::•<core::num>();
+    #t32.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
+    #t32.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
+    #t32.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
+  } =>#t32;
   dynamic dynamicSet3 = block {
-    final core::Set<core::int?> #t22 = col::LinkedHashSet::•<core::int?>();
-    #t22.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
-    #t22.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
-    #t22.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
-  } =>#t22;
+    final core::Set<core::int?> #t33 = col::LinkedHashSet::•<core::int?>();
+    #t33.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+    #t33.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
+    #t33.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
+  } =>#t33;
   core::Iterable<core::int>? iterableIntSet = true ?{core::Set<core::int>?} block {
-    final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
-  } =>#t23 : null;
+    final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
+    #t34.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
+    #t34.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
+    #t34.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
+  } =>#t34 : null;
   core::Set<core::int>? intSet = true ?{core::Set<core::int>?} block {
-    final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
-    #t24.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
-    #t24.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
-    #t24.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
-  } =>#t24 : null;
+    final core::Set<core::int> #t35 = col::LinkedHashSet::•<core::int>();
+    #t35.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
+    #t35.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
+    #t35.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
+  } =>#t35 : null;
   core::Set<core::int> set1 = block {
-    final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t26 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t26 == null))
-      for (final has-declared-initializer dynamic #t27 in #t26{core::Iterable<dynamic>}) {
-        final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
-        #t25.{core::Set::add}{Invariant}(#t28){(core::int) → core::bool};
+    final core::Set<core::int> #t36 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t37 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t37 == null))
+      for (final has-declared-initializer dynamic #t38 in #t37{core::Iterable<dynamic>}) {
+        final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
+        #t36.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
       }
-    final core::Iterable<dynamic>? #t29 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t29 == null))
-      for (final has-declared-initializer dynamic #t30 in #t29{core::Iterable<dynamic>}) {
-        final core::int #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::int;
-        #t25.{core::Set::add}{Invariant}(#t31){(core::int) → core::bool};
+    final core::Iterable<dynamic>? #t40 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t40 == null))
+      for (final has-declared-initializer dynamic #t41 in #t40{core::Iterable<dynamic>}) {
+        final core::int #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::int;
+        #t36.{core::Set::add}{Invariant}(#t42){(core::int) → core::bool};
       }
-    final core::Iterable<dynamic>? #t32 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t32 == null))
-      for (final has-declared-initializer dynamic #t33 in #t32{core::Iterable<dynamic>}) {
-        final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
-        #t25.{core::Set::add}{Invariant}(#t34){(core::int) → core::bool};
+    final core::Iterable<dynamic>? #t43 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t43 == null))
+      for (final has-declared-initializer dynamic #t44 in #t43{core::Iterable<dynamic>}) {
+        final core::int #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::int;
+        #t36.{core::Set::add}{Invariant}(#t45){(core::int) → core::bool};
       }
-    final core::Iterable<core::int>? #t35 = iterableIntSet;
-    if(!(#t35 == null))
-      #t25.{core::Set::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t36 = intSet;
-    if(!(#t36 == null))
-      #t25.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t25;
+    final core::Iterable<core::int>? #t46 = iterableIntSet;
+    if(!(#t46 == null))
+      #t36.{core::Set::addAll}{Invariant}(#t46{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t47 = intSet;
+    if(!(#t47 == null))
+      #t36.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t36;
   self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set1);
   core::Set<core::num> set2 = block {
-    final core::Set<core::num> #t37 = col::LinkedHashSet::•<core::num>();
-    final core::Iterable<dynamic>? #t38 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t38 == null))
-      for (final has-declared-initializer dynamic #t39 in #t38{core::Iterable<dynamic>}) {
-        final core::num #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::num;
-        #t37.{core::Set::add}{Invariant}(#t40){(core::num) → core::bool};
+    final core::Set<core::num> #t48 = col::LinkedHashSet::•<core::num>();
+    final core::Iterable<dynamic>? #t49 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t49 == null))
+      for (final has-declared-initializer dynamic #t50 in #t49{core::Iterable<dynamic>}) {
+        final core::num #t51 = #t50 as{TypeError,ForNonNullableByDefault} core::num;
+        #t48.{core::Set::add}{Invariant}(#t51){(core::num) → core::bool};
       }
-    final core::Iterable<dynamic>? #t41 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t41 == null))
-      for (final has-declared-initializer dynamic #t42 in #t41{core::Iterable<dynamic>}) {
-        final core::num #t43 = #t42 as{TypeError,ForNonNullableByDefault} core::num;
-        #t37.{core::Set::add}{Invariant}(#t43){(core::num) → core::bool};
+    final core::Iterable<dynamic>? #t52 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t52 == null))
+      for (final has-declared-initializer dynamic #t53 in #t52{core::Iterable<dynamic>}) {
+        final core::num #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::num;
+        #t48.{core::Set::add}{Invariant}(#t54){(core::num) → core::bool};
       }
-    final core::Iterable<dynamic>? #t44 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t44 == null))
-      for (final has-declared-initializer dynamic #t45 in #t44{core::Iterable<dynamic>}) {
-        final core::num #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::num;
-        #t37.{core::Set::add}{Invariant}(#t46){(core::num) → core::bool};
+    final core::Iterable<dynamic>? #t55 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t55 == null))
+      for (final has-declared-initializer dynamic #t56 in #t55{core::Iterable<dynamic>}) {
+        final core::num #t57 = #t56 as{TypeError,ForNonNullableByDefault} core::num;
+        #t48.{core::Set::add}{Invariant}(#t57){(core::num) → core::bool};
       }
-    final core::Iterable<core::num>? #t47 = iterableIntSet;
-    if(!(#t47 == null))
-      #t37.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-    final core::Iterable<core::num>? #t48 = intSet;
-    if(!(#t48 == null))
-      #t37.{core::Set::addAll}{Invariant}(#t48{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-  } =>#t37;
+    final core::Iterable<core::num>? #t58 = iterableIntSet;
+    if(!(#t58 == null))
+      #t48.{core::Set::addAll}{Invariant}(#t58{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+    final core::Iterable<core::num>? #t59 = intSet;
+    if(!(#t59 == null))
+      #t48.{core::Set::addAll}{Invariant}(#t59{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+  } =>#t48;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
+  core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t60 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t61 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t61 == null))
+      for (final has-declared-initializer dynamic #t62 in #t61{core::Iterable<dynamic>}) {
+        final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
+        #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+      }
+    final core::Iterable<dynamic>? #t64 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t64 == null))
+      for (final has-declared-initializer dynamic #t65 in #t64{core::Iterable<dynamic>}) {
+        final core::int #t66 = #t65 as{TypeError,ForNonNullableByDefault} core::int;
+        #t60.{core::Set::add}{Invariant}(#t66){(core::int) → core::bool};
+      }
+    final core::Iterable<dynamic>? #t67 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t67 == null))
+      for (final has-declared-initializer dynamic #t68 in #t67{core::Iterable<dynamic>}) {
+        final core::int #t69 = #t68 as{TypeError,ForNonNullableByDefault} core::int;
+        #t60.{core::Set::add}{Invariant}(#t69){(core::int) → core::bool};
+      }
+    final core::Iterable<core::int>? #t70 = iterableIntSet;
+    if(!(#t70 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t70{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t71 = intSet;
+    if(!(#t71 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t71{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t60;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set3);
+  core::Set<dynamic> set4 = block {
+    final core::Set<dynamic> #t72 = col::LinkedHashSet::•<dynamic>();
+    final core::Iterable<dynamic>? #t73 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t73 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t73{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t74 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t74 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t74{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t75 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t75 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t75{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t76 = iterableIntSet;
+    if(!(#t76 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t76{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t77 = intSet;
+    if(!(#t77 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t77{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+  } =>#t72;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<dynamic>}, set4);
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -173,4 +265,7 @@
       throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
     }
   }
+  if(!(set1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} set2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${set1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${set2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.modular.expect b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.modular.expect
index 502fb30..628d12b 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.modular.expect
@@ -71,94 +71,186 @@
     #t13.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::num>) → void};
   } =>#t13;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
+  core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t20 = col::LinkedHashSet::•<core::int>();
+    for (final has-declared-initializer dynamic #t21 in dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t22 = #t21 as{TypeError,ForNonNullableByDefault} core::int;
+      #t20.{core::Set::add}{Invariant}(#t22){(core::int) → core::bool};
+    }
+    for (final has-declared-initializer dynamic #t23 in dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+      #t20.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
+    }
+    for (final has-declared-initializer dynamic #t25 in dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>) {
+      final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
+      #t20.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
+    }
+    #t20.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::int>) → void};
+    #t20.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::int>) → void};
+  } =>#t20;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set3);
+  core::Set<dynamic> set4 = block {
+    final core::Set<dynamic> #t27 = col::LinkedHashSet::of<dynamic>(dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t27.{core::Set::addAll}{Invariant}(dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<dynamic>) → void};
+  } =>#t27;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<dynamic>}, set4);
+  {
+    core::Set<core::int> intSet1 = block {
+      final core::Set<core::int> #t28 = col::LinkedHashSet::•<core::int>();
+      #t28.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+      #t28.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+      #t28.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    } =>#t28;
+    core::Set<core::int> intSet2 = block {
+      final core::Set<core::int> #t29 = col::LinkedHashSet::•<core::int>();
+      #t29.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+      #t29.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+      #t29.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    } =>#t29;
+    core::Set<core::int> set = block {
+      final core::Set<core::int> #t30 = col::LinkedHashSet::of<core::int>(intSet1);
+      #t30.{core::Set::addAll}{Invariant}(intSet2){(core::Iterable<core::int>) → void};
+    } =>#t30;
+    self::expect(core::List::generate<core::int>(6, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set);
+  }
 }
 static method useAddAllNullable() → void {
   dynamic dynamicSet1 = block {
-    final core::Set<core::int> #t20 = col::LinkedHashSet::•<core::int>();
-    #t20.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
-    #t20.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t20.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-  } =>#t20;
+    final core::Set<core::int> #t31 = col::LinkedHashSet::•<core::int>();
+    #t31.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+    #t31.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t31.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+  } =>#t31;
   dynamic dynamicSet2 = block {
-    final core::Set<core::num> #t21 = col::LinkedHashSet::•<core::num>();
-    #t21.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
-    #t21.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
-    #t21.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
-  } =>#t21;
+    final core::Set<core::num> #t32 = col::LinkedHashSet::•<core::num>();
+    #t32.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
+    #t32.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
+    #t32.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
+  } =>#t32;
   dynamic dynamicSet3 = block {
-    final core::Set<core::int?> #t22 = col::LinkedHashSet::•<core::int?>();
-    #t22.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
-    #t22.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
-    #t22.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
-  } =>#t22;
+    final core::Set<core::int?> #t33 = col::LinkedHashSet::•<core::int?>();
+    #t33.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+    #t33.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
+    #t33.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
+  } =>#t33;
   core::Iterable<core::int>? iterableIntSet = true ?{core::Set<core::int>?} block {
-    final core::Set<core::int> #t23 = col::LinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
-  } =>#t23 : null;
+    final core::Set<core::int> #t34 = col::LinkedHashSet::•<core::int>();
+    #t34.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
+    #t34.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
+    #t34.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
+  } =>#t34 : null;
   core::Set<core::int>? intSet = true ?{core::Set<core::int>?} block {
-    final core::Set<core::int> #t24 = col::LinkedHashSet::•<core::int>();
-    #t24.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
-    #t24.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
-    #t24.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
-  } =>#t24 : null;
+    final core::Set<core::int> #t35 = col::LinkedHashSet::•<core::int>();
+    #t35.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
+    #t35.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
+    #t35.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
+  } =>#t35 : null;
   core::Set<core::int> set1 = block {
-    final core::Set<core::int> #t25 = col::LinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t26 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t26 == null))
-      for (final has-declared-initializer dynamic #t27 in #t26{core::Iterable<dynamic>}) {
-        final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
-        #t25.{core::Set::add}{Invariant}(#t28){(core::int) → core::bool};
+    final core::Set<core::int> #t36 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t37 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t37 == null))
+      for (final has-declared-initializer dynamic #t38 in #t37{core::Iterable<dynamic>}) {
+        final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
+        #t36.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
       }
-    final core::Iterable<dynamic>? #t29 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t29 == null))
-      for (final has-declared-initializer dynamic #t30 in #t29{core::Iterable<dynamic>}) {
-        final core::int #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::int;
-        #t25.{core::Set::add}{Invariant}(#t31){(core::int) → core::bool};
+    final core::Iterable<dynamic>? #t40 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t40 == null))
+      for (final has-declared-initializer dynamic #t41 in #t40{core::Iterable<dynamic>}) {
+        final core::int #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::int;
+        #t36.{core::Set::add}{Invariant}(#t42){(core::int) → core::bool};
       }
-    final core::Iterable<dynamic>? #t32 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t32 == null))
-      for (final has-declared-initializer dynamic #t33 in #t32{core::Iterable<dynamic>}) {
-        final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
-        #t25.{core::Set::add}{Invariant}(#t34){(core::int) → core::bool};
+    final core::Iterable<dynamic>? #t43 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t43 == null))
+      for (final has-declared-initializer dynamic #t44 in #t43{core::Iterable<dynamic>}) {
+        final core::int #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::int;
+        #t36.{core::Set::add}{Invariant}(#t45){(core::int) → core::bool};
       }
-    final core::Iterable<core::int>? #t35 = iterableIntSet;
-    if(!(#t35 == null))
-      #t25.{core::Set::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t36 = intSet;
-    if(!(#t36 == null))
-      #t25.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t25;
+    final core::Iterable<core::int>? #t46 = iterableIntSet;
+    if(!(#t46 == null))
+      #t36.{core::Set::addAll}{Invariant}(#t46{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t47 = intSet;
+    if(!(#t47 == null))
+      #t36.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t36;
   self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set1);
   core::Set<core::num> set2 = block {
-    final core::Set<core::num> #t37 = col::LinkedHashSet::•<core::num>();
-    final core::Iterable<dynamic>? #t38 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t38 == null))
-      for (final has-declared-initializer dynamic #t39 in #t38{core::Iterable<dynamic>}) {
-        final core::num #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::num;
-        #t37.{core::Set::add}{Invariant}(#t40){(core::num) → core::bool};
+    final core::Set<core::num> #t48 = col::LinkedHashSet::•<core::num>();
+    final core::Iterable<dynamic>? #t49 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t49 == null))
+      for (final has-declared-initializer dynamic #t50 in #t49{core::Iterable<dynamic>}) {
+        final core::num #t51 = #t50 as{TypeError,ForNonNullableByDefault} core::num;
+        #t48.{core::Set::add}{Invariant}(#t51){(core::num) → core::bool};
       }
-    final core::Iterable<dynamic>? #t41 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t41 == null))
-      for (final has-declared-initializer dynamic #t42 in #t41{core::Iterable<dynamic>}) {
-        final core::num #t43 = #t42 as{TypeError,ForNonNullableByDefault} core::num;
-        #t37.{core::Set::add}{Invariant}(#t43){(core::num) → core::bool};
+    final core::Iterable<dynamic>? #t52 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t52 == null))
+      for (final has-declared-initializer dynamic #t53 in #t52{core::Iterable<dynamic>}) {
+        final core::num #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::num;
+        #t48.{core::Set::add}{Invariant}(#t54){(core::num) → core::bool};
       }
-    final core::Iterable<dynamic>? #t44 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t44 == null))
-      for (final has-declared-initializer dynamic #t45 in #t44{core::Iterable<dynamic>}) {
-        final core::num #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::num;
-        #t37.{core::Set::add}{Invariant}(#t46){(core::num) → core::bool};
+    final core::Iterable<dynamic>? #t55 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t55 == null))
+      for (final has-declared-initializer dynamic #t56 in #t55{core::Iterable<dynamic>}) {
+        final core::num #t57 = #t56 as{TypeError,ForNonNullableByDefault} core::num;
+        #t48.{core::Set::add}{Invariant}(#t57){(core::num) → core::bool};
       }
-    final core::Iterable<core::num>? #t47 = iterableIntSet;
-    if(!(#t47 == null))
-      #t37.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-    final core::Iterable<core::num>? #t48 = intSet;
-    if(!(#t48 == null))
-      #t37.{core::Set::addAll}{Invariant}(#t48{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-  } =>#t37;
+    final core::Iterable<core::num>? #t58 = iterableIntSet;
+    if(!(#t58 == null))
+      #t48.{core::Set::addAll}{Invariant}(#t58{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+    final core::Iterable<core::num>? #t59 = intSet;
+    if(!(#t59 == null))
+      #t48.{core::Set::addAll}{Invariant}(#t59{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+  } =>#t48;
   self::expect(core::List::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
+  core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t60 = col::LinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t61 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t61 == null))
+      for (final has-declared-initializer dynamic #t62 in #t61{core::Iterable<dynamic>}) {
+        final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
+        #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+      }
+    final core::Iterable<dynamic>? #t64 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t64 == null))
+      for (final has-declared-initializer dynamic #t65 in #t64{core::Iterable<dynamic>}) {
+        final core::int #t66 = #t65 as{TypeError,ForNonNullableByDefault} core::int;
+        #t60.{core::Set::add}{Invariant}(#t66){(core::int) → core::bool};
+      }
+    final core::Iterable<dynamic>? #t67 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t67 == null))
+      for (final has-declared-initializer dynamic #t68 in #t67{core::Iterable<dynamic>}) {
+        final core::int #t69 = #t68 as{TypeError,ForNonNullableByDefault} core::int;
+        #t60.{core::Set::add}{Invariant}(#t69){(core::int) → core::bool};
+      }
+    final core::Iterable<core::int>? #t70 = iterableIntSet;
+    if(!(#t70 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t70{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t71 = intSet;
+    if(!(#t71 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t71{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t60;
+  self::expect(core::List::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set3);
+  core::Set<dynamic> set4 = block {
+    final core::Set<dynamic> #t72 = col::LinkedHashSet::•<dynamic>();
+    final core::Iterable<dynamic>? #t73 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t73 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t73{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t74 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t74 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t74{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t75 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t75 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t75{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t76 = iterableIntSet;
+    if(!(#t76 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t76{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t77 = intSet;
+    if(!(#t77 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t77{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+  } =>#t72;
+  self::expect(core::List::generate<dynamic>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<dynamic>}, set4);
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -173,4 +265,7 @@
       throw "Element ${element} not found. Expected ${set1}, actual ${set2}.";
     }
   }
+  if(!(set1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} set2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${set1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${set2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
 }
diff --git a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect
index 65a9653..553756f 100644
--- a/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/unified_collections/set_add_all_nnbd.dart.weak.transformed.expect
@@ -107,124 +107,249 @@
     #t13.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::num>) → void};
   } =>#t13;
   self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
+  core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t20 = new col::_CompactLinkedHashSet::•<core::int>();
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t21 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t22 = #t21 as{TypeError,ForNonNullableByDefault} core::int;
+          #t20.{core::Set::add}{Invariant}(#t22){(core::int) → core::bool};
+        }
+      }
+    }
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t23 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t24 = #t23 as{TypeError,ForNonNullableByDefault} core::int;
+          #t20.{core::Set::add}{Invariant}(#t24){(core::int) → core::bool};
+        }
+      }
+    }
+    {
+      core::Iterator<dynamic> :sync-for-iterator = (dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>).{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t25 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t26 = #t25 as{TypeError,ForNonNullableByDefault} core::int;
+          #t20.{core::Set::add}{Invariant}(#t26){(core::int) → core::bool};
+        }
+      }
+    }
+    #t20.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<core::int>) → void};
+    #t20.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<core::int>) → void};
+  } =>#t20;
+  self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set3);
+  core::Set<dynamic> set4 = block {
+    final core::Set<dynamic> #t27 = col::LinkedHashSet::of<dynamic>(dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>);
+    #t27.{core::Set::addAll}{Invariant}(dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(iterableIntSet){(core::Iterable<dynamic>) → void};
+    #t27.{core::Set::addAll}{Invariant}(intSet){(core::Iterable<dynamic>) → void};
+  } =>#t27;
+  self::expect(core::_GrowableList::generate<dynamic>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<dynamic>}, set4);
+  {
+    core::Set<core::int> intSet1 = block {
+      final core::Set<core::int> #t28 = new col::_CompactLinkedHashSet::•<core::int>();
+      #t28.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+      #t28.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+      #t28.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+    } =>#t28;
+    core::Set<core::int> intSet2 = block {
+      final core::Set<core::int> #t29 = new col::_CompactLinkedHashSet::•<core::int>();
+      #t29.{core::Set::add}{Invariant}(3){(core::int) → core::bool};
+      #t29.{core::Set::add}{Invariant}(4){(core::int) → core::bool};
+      #t29.{core::Set::add}{Invariant}(5){(core::int) → core::bool};
+    } =>#t29;
+    core::Set<core::int> set = block {
+      final core::Set<core::int> #t30 = col::LinkedHashSet::of<core::int>(intSet1);
+      #t30.{core::Set::addAll}{Invariant}(intSet2){(core::Iterable<core::int>) → void};
+    } =>#t30;
+    self::expect(core::_GrowableList::generate<core::int>(6, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set);
+  }
 }
 static method useAddAllNullable() → void {
   dynamic dynamicSet1 = block {
-    final core::Set<core::int> #t20 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t20.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
-    #t20.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
-    #t20.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
-  } =>#t20;
+    final core::Set<core::int> #t31 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t31.{core::Set::add}{Invariant}(0){(core::int) → core::bool};
+    #t31.{core::Set::add}{Invariant}(1){(core::int) → core::bool};
+    #t31.{core::Set::add}{Invariant}(2){(core::int) → core::bool};
+  } =>#t31;
   dynamic dynamicSet2 = block {
-    final core::Set<core::num> #t21 = new col::_CompactLinkedHashSet::•<core::num>();
-    #t21.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
-    #t21.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
-    #t21.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
-  } =>#t21;
+    final core::Set<core::num> #t32 = new col::_CompactLinkedHashSet::•<core::num>();
+    #t32.{core::Set::add}{Invariant}(3){(core::num) → core::bool};
+    #t32.{core::Set::add}{Invariant}(4){(core::num) → core::bool};
+    #t32.{core::Set::add}{Invariant}(5){(core::num) → core::bool};
+  } =>#t32;
   dynamic dynamicSet3 = block {
-    final core::Set<core::int?> #t22 = new col::_CompactLinkedHashSet::•<core::int?>();
-    #t22.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
-    #t22.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
-    #t22.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
-  } =>#t22;
+    final core::Set<core::int?> #t33 = new col::_CompactLinkedHashSet::•<core::int?>();
+    #t33.{core::Set::add}{Invariant}(6){(core::int?) → core::bool};
+    #t33.{core::Set::add}{Invariant}(7){(core::int?) → core::bool};
+    #t33.{core::Set::add}{Invariant}(8){(core::int?) → core::bool};
+  } =>#t33;
   core::Iterable<core::int>? iterableIntSet = true ?{core::Set<core::int>?} block {
-    final core::Set<core::int> #t23 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t23.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
-    #t23.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
-  } =>#t23 : null;
+    final core::Set<core::int> #t34 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t34.{core::Set::add}{Invariant}(9){(core::int) → core::bool};
+    #t34.{core::Set::add}{Invariant}(10){(core::int) → core::bool};
+    #t34.{core::Set::add}{Invariant}(11){(core::int) → core::bool};
+  } =>#t34 : null;
   core::Set<core::int>? intSet = true ?{core::Set<core::int>?} block {
-    final core::Set<core::int> #t24 = new col::_CompactLinkedHashSet::•<core::int>();
-    #t24.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
-    #t24.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
-    #t24.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
-  } =>#t24 : null;
+    final core::Set<core::int> #t35 = new col::_CompactLinkedHashSet::•<core::int>();
+    #t35.{core::Set::add}{Invariant}(12){(core::int) → core::bool};
+    #t35.{core::Set::add}{Invariant}(13){(core::int) → core::bool};
+    #t35.{core::Set::add}{Invariant}(14){(core::int) → core::bool};
+  } =>#t35 : null;
   core::Set<core::int> set1 = block {
-    final core::Set<core::int> #t25 = new col::_CompactLinkedHashSet::•<core::int>();
-    final core::Iterable<dynamic>? #t26 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t26 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t26{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    final core::Set<core::int> #t36 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t37 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t37 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t37{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t27 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t38 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t28 = #t27 as{TypeError,ForNonNullableByDefault} core::int;
-          #t25.{core::Set::add}{Invariant}(#t28){(core::int) → core::bool};
+          final core::int #t39 = #t38 as{TypeError,ForNonNullableByDefault} core::int;
+          #t36.{core::Set::add}{Invariant}(#t39){(core::int) → core::bool};
         }
       }
     }
-    final core::Iterable<dynamic>? #t29 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t29 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t29{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    final core::Iterable<dynamic>? #t40 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t40 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t40{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t30 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t41 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t31 = #t30 as{TypeError,ForNonNullableByDefault} core::int;
-          #t25.{core::Set::add}{Invariant}(#t31){(core::int) → core::bool};
+          final core::int #t42 = #t41 as{TypeError,ForNonNullableByDefault} core::int;
+          #t36.{core::Set::add}{Invariant}(#t42){(core::int) → core::bool};
         }
       }
     }
-    final core::Iterable<dynamic>? #t32 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t32 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t32{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    final core::Iterable<dynamic>? #t43 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t43 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t43{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t33 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t44 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::int #t34 = #t33 as{TypeError,ForNonNullableByDefault} core::int;
-          #t25.{core::Set::add}{Invariant}(#t34){(core::int) → core::bool};
+          final core::int #t45 = #t44 as{TypeError,ForNonNullableByDefault} core::int;
+          #t36.{core::Set::add}{Invariant}(#t45){(core::int) → core::bool};
         }
       }
     }
-    final core::Iterable<core::int>? #t35 = iterableIntSet;
-    if(!(#t35 == null))
-      #t25.{core::Set::addAll}{Invariant}(#t35{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-    final core::Iterable<core::int>? #t36 = intSet;
-    if(!(#t36 == null))
-      #t25.{core::Set::addAll}{Invariant}(#t36{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
-  } =>#t25;
+    final core::Iterable<core::int>? #t46 = iterableIntSet;
+    if(!(#t46 == null))
+      #t36.{core::Set::addAll}{Invariant}(#t46{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t47 = intSet;
+    if(!(#t47 == null))
+      #t36.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t36;
   self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set1);
   core::Set<core::num> set2 = block {
-    final core::Set<core::num> #t37 = new col::_CompactLinkedHashSet::•<core::num>();
-    final core::Iterable<dynamic>? #t38 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t38 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t38{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    final core::Set<core::num> #t48 = new col::_CompactLinkedHashSet::•<core::num>();
+    final core::Iterable<dynamic>? #t49 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t49 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t49{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t39 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t50 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::num #t40 = #t39 as{TypeError,ForNonNullableByDefault} core::num;
-          #t37.{core::Set::add}{Invariant}(#t40){(core::num) → core::bool};
+          final core::num #t51 = #t50 as{TypeError,ForNonNullableByDefault} core::num;
+          #t48.{core::Set::add}{Invariant}(#t51){(core::num) → core::bool};
         }
       }
     }
-    final core::Iterable<dynamic>? #t41 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t41 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t41{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    final core::Iterable<dynamic>? #t52 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t52 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t52{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t42 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t53 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::num #t43 = #t42 as{TypeError,ForNonNullableByDefault} core::num;
-          #t37.{core::Set::add}{Invariant}(#t43){(core::num) → core::bool};
+          final core::num #t54 = #t53 as{TypeError,ForNonNullableByDefault} core::num;
+          #t48.{core::Set::add}{Invariant}(#t54){(core::num) → core::bool};
         }
       }
     }
-    final core::Iterable<dynamic>? #t44 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
-    if(!(#t44 == null)) {
-      core::Iterator<dynamic> :sync-for-iterator = #t44{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+    final core::Iterable<dynamic>? #t55 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t55 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t55{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
       for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
-        final dynamic #t45 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        final dynamic #t56 = :sync-for-iterator.{core::Iterator::current}{dynamic};
         {
-          final core::num #t46 = #t45 as{TypeError,ForNonNullableByDefault} core::num;
-          #t37.{core::Set::add}{Invariant}(#t46){(core::num) → core::bool};
+          final core::num #t57 = #t56 as{TypeError,ForNonNullableByDefault} core::num;
+          #t48.{core::Set::add}{Invariant}(#t57){(core::num) → core::bool};
         }
       }
     }
-    final core::Iterable<core::num>? #t47 = iterableIntSet;
-    if(!(#t47 == null))
-      #t37.{core::Set::addAll}{Invariant}(#t47{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-    final core::Iterable<core::num>? #t48 = intSet;
-    if(!(#t48 == null))
-      #t37.{core::Set::addAll}{Invariant}(#t48{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
-  } =>#t37;
+    final core::Iterable<core::num>? #t58 = iterableIntSet;
+    if(!(#t58 == null))
+      #t48.{core::Set::addAll}{Invariant}(#t58{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+    final core::Iterable<core::num>? #t59 = intSet;
+    if(!(#t59 == null))
+      #t48.{core::Set::addAll}{Invariant}(#t59{core::Iterable<core::num>}){(core::Iterable<core::num>) → void};
+  } =>#t48;
   self::expect(core::_GrowableList::generate<core::num>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::num>}, set2);
+  core::Set<core::int> set3 = block {
+    final core::Set<core::int> #t60 = new col::_CompactLinkedHashSet::•<core::int>();
+    final core::Iterable<dynamic>? #t61 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t61 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t61{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t62 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t63 = #t62 as{TypeError,ForNonNullableByDefault} core::int;
+          #t60.{core::Set::add}{Invariant}(#t63){(core::int) → core::bool};
+        }
+      }
+    }
+    final core::Iterable<dynamic>? #t64 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t64 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t64{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t65 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t66 = #t65 as{TypeError,ForNonNullableByDefault} core::int;
+          #t60.{core::Set::add}{Invariant}(#t66){(core::int) → core::bool};
+        }
+      }
+    }
+    final core::Iterable<dynamic>? #t67 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t67 == null)) {
+      core::Iterator<dynamic> :sync-for-iterator = #t67{core::Iterable<dynamic>}.{core::Iterable::iterator}{core::Iterator<dynamic>};
+      for (; :sync-for-iterator.{core::Iterator::moveNext}(){() → core::bool}; ) {
+        final dynamic #t68 = :sync-for-iterator.{core::Iterator::current}{dynamic};
+        {
+          final core::int #t69 = #t68 as{TypeError,ForNonNullableByDefault} core::int;
+          #t60.{core::Set::add}{Invariant}(#t69){(core::int) → core::bool};
+        }
+      }
+    }
+    final core::Iterable<core::int>? #t70 = iterableIntSet;
+    if(!(#t70 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t70{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+    final core::Iterable<core::int>? #t71 = intSet;
+    if(!(#t71 == null))
+      #t60.{core::Set::addAll}{Invariant}(#t71{core::Iterable<core::int>}){(core::Iterable<core::int>) → void};
+  } =>#t60;
+  self::expect(core::_GrowableList::generate<core::int>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<core::int>}, set3);
+  core::Set<dynamic> set4 = block {
+    final core::Set<dynamic> #t72 = new col::_CompactLinkedHashSet::•<dynamic>();
+    final core::Iterable<dynamic>? #t73 = dynamicSet1 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t73 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t73{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t74 = dynamicSet2 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t74 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t74{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t75 = dynamicSet3 as{TypeError,ForDynamic,ForNonNullableByDefault} core::Iterable<dynamic>?;
+    if(!(#t75 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t75{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t76 = iterableIntSet;
+    if(!(#t76 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t76{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+    final core::Iterable<dynamic>? #t77 = intSet;
+    if(!(#t77 == null))
+      #t72.{core::Set::addAll}{Invariant}(#t77{core::Iterable<dynamic>}){(core::Iterable<dynamic>) → void};
+  } =>#t72;
+  self::expect(core::_GrowableList::generate<dynamic>(15, (core::int i) → core::int => i).{core::Iterable::toSet}(){() → core::Set<dynamic>}, set4);
 }
 static method main() → dynamic {
   self::useAddAll();
@@ -245,4 +370,7 @@
       }
     }
   }
+  if(!(set1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String} =={core::String::==}{(core::Object) → core::bool} set2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String})) {
+    throw "Runtime time difference: ${set1.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}} vs ${set2.{core::Object::runtimeType}{core::Type}.{core::Type::toString}(){() → core::String}}";
+  }
 }
diff --git a/pkg/front_end/testcases/weak.status b/pkg/front_end/testcases/weak.status
index bfca27f..82204c5 100644
--- a/pkg/front_end/testcases/weak.status
+++ b/pkg/front_end/testcases/weak.status
@@ -11,7 +11,8 @@
 no_such_method_forwarders/abstract_override_with_different_signature: SemiFuzzFailure
 
 dart2js/mixin_super/main: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49339
-dartdevc/static_interop_erasure/main: SemiFuzzCrash # https://github.com/dart-lang/sdk/issues/49301
+dart2js/late_fields_with_annotation: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49415
+macros/augment_concrete: SemiFuzzFailure # https://github.com/dart-lang/sdk/issues/49414
 
 dart2js/tear_off_patch/main: semiFuzzFailureOnForceRebuildBodies # needs custom libraries.json (and platform?) not setup here
 general/constants/with_unevaluated_agnostic/various_2: SemiFuzzFailure # Looks similar to https://dart-review.googlesource.com/c/sdk/+/242441
diff --git a/tools/VERSION b/tools/VERSION
index c5351ee..f9ef683 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 18
 PATCH 0
-PRERELEASE 264
+PRERELEASE 265
 PRERELEASE_PATCH 0
\ No newline at end of file