Version 2.16.0-157.0.dev

Merge commit 'ba98ca1be1a65609fb639302c130d5fb7299c2ee' into 'dev'
diff --git a/pkg/front_end/benchmarks/patterns/generate_datatypes.dart b/pkg/front_end/benchmarks/patterns/generate_datatypes.dart
new file mode 100644
index 0000000..5592a2d
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generate_datatypes.dart
@@ -0,0 +1,202 @@
+// 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.
+
+import 'dart:io';
+
+import 'package:_fe_analyzer_shared/src/util/relativize.dart';
+import 'package:dart_style/dart_style.dart' show DartFormatter;
+
+const String dataTypeOutputPrefix = 'datatype';
+
+const List<int> dataTypeHierarchySizes = [
+  1,
+  2,
+  3,
+  4,
+  5,
+  6,
+  7,
+  8,
+  12,
+  16,
+  24,
+  32,
+  48,
+  64,
+  96,
+  128,
+  192,
+  256,
+  // 512, too many nested expressions or statements
+  // 1024,
+];
+
+void main() {
+  Uri dataFolder = Platform.script.resolve('generated/');
+  generateDataTypeTests(dataFolder);
+  for (int size in dataTypeHierarchySizes) {
+    generateDataTypeHierarchy(dataFolder, size);
+  }
+}
+
+void generateDataTypeTests(Uri dataFolder) {
+  Uri fileUri = dataFolder.resolve('${dataTypeOutputPrefix}.dart');
+  StringBuffer sb = new StringBuffer();
+  sb.writeln('''
+// 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.
+
+// Generated by
+// 
+//   ${relativizeUri(Uri.base, Platform.script, isWindows)}
+
+import '../test_datatypes.dart';''');
+
+  for (int size in dataTypeHierarchySizes) {
+    sb.writeln('''
+import '${dataTypeOutputPrefix}$size.dart';''');
+  }
+
+  sb.writeln('''
+
+List<Test> tests = [''');
+
+  for (int size in dataTypeHierarchySizes) {
+    sb.writeln('''
+  Test<Base$size>(
+      $size, 
+      createData$size, 
+      {dynamicDispatchStrategy: incByDynamicDispatch$size, 
+       ifThenElseStrategy: incByIfThenElseDispatch$size,
+       visitorStrategy: incByVisitorDispatch$size}),
+''');
+  }
+
+  sb.writeln('''
+];
+''');
+
+  String result = new DartFormatter().format(sb.toString());
+  new File.fromUri(fileUri).writeAsStringSync(result);
+}
+
+void generateDataTypeHierarchy(Uri dataFolder, int size) {
+  Uri fileUri = dataFolder.resolve('${dataTypeOutputPrefix}${size}.dart');
+  StringBuffer sb = new StringBuffer();
+  sb.writeln('''
+// 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.
+
+// Generated by
+// 
+//   ${relativizeUri(Uri.base, Platform.script, isWindows)}
+''');
+  sb.writeln('''
+import '../test_datatypes.dart';
+
+abstract class Base$size {
+  void dynamicDispatch(Counter counter);
+  
+  R accept<R, A>(Visitor$size<R, A> visitor, A arg);
+}
+''');
+  for (int i = 0; i < size; i++) {
+    sb.writeln('''
+class Sub$i extends Base$size {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+  
+  void ifThenElseDispatch$i(Counter counter) {
+    counter.inc();
+  }
+  
+  void visitorDispatch$i(Counter counter) {
+    counter.inc();
+  }
+  
+  @override
+  R accept<R, A>(Visitor$size<R, A> visitor, A arg) {
+    return visitor.visitSub$i(this, arg);
+  }
+}
+''');
+  }
+  sb.writeln('''
+List<Base$size> createData$size() {
+  return [''');
+  for (int i = 0; i < size; i++) {
+    sb.writeln('''
+    Sub$i(),''');
+  }
+  sb.writeln('''
+  ];
+}
+''');
+  sb.writeln('''
+void incByDynamicDispatch$size(Base$size base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+''');
+
+  sb.writeln('''
+void incByIfThenElseDispatch$size(Base$size base, Counter counter) {''');
+  for (int i = 0; i < size; i++) {
+    if (i == 0) {
+      sb.writeln('''
+  if (base is Sub$i) {''');
+    } else {
+      sb.writeln('''
+  } else if (base is Sub$i) {''');
+    }
+    sb.write('''
+    base.ifThenElseDispatch$i(counter);
+''');
+  }
+  sb.writeln('''
+  }
+}
+''');
+
+  sb.writeln('''
+const Visitor$size<void, Counter> visitor = CounterVisitor$size(); 
+
+void incByVisitorDispatch$size(Base$size base, Counter counter) {
+  base.accept(visitor, counter);
+}
+''');
+
+  sb.writeln('''
+abstract class Visitor$size<R, A> {''');
+  for (int i = 0; i < size; i++) {
+    sb.writeln('''
+  R visitSub$i(Sub$i sub, A arg);''');
+  }
+  sb.writeln('''
+}
+''');
+
+  sb.writeln('''
+class CounterVisitor$size implements Visitor$size<void, Counter> {
+  const CounterVisitor$size();
+''');
+
+  for (int i = 0; i < size; i++) {
+    sb.writeln('''
+  @override
+  void visitSub$i(Sub$i sub, Counter counter) {
+    sub.visitorDispatch$i(counter);
+  }
+  ''');
+  }
+  sb.writeln('''
+}
+''');
+
+  String result = new DartFormatter().format(sb.toString());
+  new File.fromUri(fileUri).writeAsStringSync(result);
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype.dart b/pkg/front_end/benchmarks/patterns/generated/datatype.dart
new file mode 100644
index 0000000..cfaa462
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype.dart
@@ -0,0 +1,120 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+import 'datatype1.dart';
+import 'datatype2.dart';
+import 'datatype3.dart';
+import 'datatype4.dart';
+import 'datatype5.dart';
+import 'datatype6.dart';
+import 'datatype7.dart';
+import 'datatype8.dart';
+import 'datatype12.dart';
+import 'datatype16.dart';
+import 'datatype24.dart';
+import 'datatype32.dart';
+import 'datatype48.dart';
+import 'datatype64.dart';
+import 'datatype96.dart';
+import 'datatype128.dart';
+import 'datatype192.dart';
+import 'datatype256.dart';
+
+List<Test> tests = [
+  Test<Base1>(1, createData1, {
+    dynamicDispatchStrategy: incByDynamicDispatch1,
+    ifThenElseStrategy: incByIfThenElseDispatch1,
+    visitorStrategy: incByVisitorDispatch1
+  }),
+  Test<Base2>(2, createData2, {
+    dynamicDispatchStrategy: incByDynamicDispatch2,
+    ifThenElseStrategy: incByIfThenElseDispatch2,
+    visitorStrategy: incByVisitorDispatch2
+  }),
+  Test<Base3>(3, createData3, {
+    dynamicDispatchStrategy: incByDynamicDispatch3,
+    ifThenElseStrategy: incByIfThenElseDispatch3,
+    visitorStrategy: incByVisitorDispatch3
+  }),
+  Test<Base4>(4, createData4, {
+    dynamicDispatchStrategy: incByDynamicDispatch4,
+    ifThenElseStrategy: incByIfThenElseDispatch4,
+    visitorStrategy: incByVisitorDispatch4
+  }),
+  Test<Base5>(5, createData5, {
+    dynamicDispatchStrategy: incByDynamicDispatch5,
+    ifThenElseStrategy: incByIfThenElseDispatch5,
+    visitorStrategy: incByVisitorDispatch5
+  }),
+  Test<Base6>(6, createData6, {
+    dynamicDispatchStrategy: incByDynamicDispatch6,
+    ifThenElseStrategy: incByIfThenElseDispatch6,
+    visitorStrategy: incByVisitorDispatch6
+  }),
+  Test<Base7>(7, createData7, {
+    dynamicDispatchStrategy: incByDynamicDispatch7,
+    ifThenElseStrategy: incByIfThenElseDispatch7,
+    visitorStrategy: incByVisitorDispatch7
+  }),
+  Test<Base8>(8, createData8, {
+    dynamicDispatchStrategy: incByDynamicDispatch8,
+    ifThenElseStrategy: incByIfThenElseDispatch8,
+    visitorStrategy: incByVisitorDispatch8
+  }),
+  Test<Base12>(12, createData12, {
+    dynamicDispatchStrategy: incByDynamicDispatch12,
+    ifThenElseStrategy: incByIfThenElseDispatch12,
+    visitorStrategy: incByVisitorDispatch12
+  }),
+  Test<Base16>(16, createData16, {
+    dynamicDispatchStrategy: incByDynamicDispatch16,
+    ifThenElseStrategy: incByIfThenElseDispatch16,
+    visitorStrategy: incByVisitorDispatch16
+  }),
+  Test<Base24>(24, createData24, {
+    dynamicDispatchStrategy: incByDynamicDispatch24,
+    ifThenElseStrategy: incByIfThenElseDispatch24,
+    visitorStrategy: incByVisitorDispatch24
+  }),
+  Test<Base32>(32, createData32, {
+    dynamicDispatchStrategy: incByDynamicDispatch32,
+    ifThenElseStrategy: incByIfThenElseDispatch32,
+    visitorStrategy: incByVisitorDispatch32
+  }),
+  Test<Base48>(48, createData48, {
+    dynamicDispatchStrategy: incByDynamicDispatch48,
+    ifThenElseStrategy: incByIfThenElseDispatch48,
+    visitorStrategy: incByVisitorDispatch48
+  }),
+  Test<Base64>(64, createData64, {
+    dynamicDispatchStrategy: incByDynamicDispatch64,
+    ifThenElseStrategy: incByIfThenElseDispatch64,
+    visitorStrategy: incByVisitorDispatch64
+  }),
+  Test<Base96>(96, createData96, {
+    dynamicDispatchStrategy: incByDynamicDispatch96,
+    ifThenElseStrategy: incByIfThenElseDispatch96,
+    visitorStrategy: incByVisitorDispatch96
+  }),
+  Test<Base128>(128, createData128, {
+    dynamicDispatchStrategy: incByDynamicDispatch128,
+    ifThenElseStrategy: incByIfThenElseDispatch128,
+    visitorStrategy: incByVisitorDispatch128
+  }),
+  Test<Base192>(192, createData192, {
+    dynamicDispatchStrategy: incByDynamicDispatch192,
+    ifThenElseStrategy: incByIfThenElseDispatch192,
+    visitorStrategy: incByVisitorDispatch192
+  }),
+  Test<Base256>(256, createData256, {
+    dynamicDispatchStrategy: incByDynamicDispatch256,
+    ifThenElseStrategy: incByIfThenElseDispatch256,
+    visitorStrategy: incByVisitorDispatch256
+  }),
+];
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype1.dart b/pkg/front_end/benchmarks/patterns/generated/datatype1.dart
new file mode 100644
index 0000000..542cd8f
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype1.dart
@@ -0,0 +1,70 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base1 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor1<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base1 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor1<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+List<Base1> createData1() {
+  return [
+    Sub0(),
+  ];
+}
+
+void incByDynamicDispatch1(Base1 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch1(Base1 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  }
+}
+
+const Visitor1<void, Counter> visitor = CounterVisitor1();
+
+void incByVisitorDispatch1(Base1 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor1<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+}
+
+class CounterVisitor1 implements Visitor1<void, Counter> {
+  const CounterVisitor1();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype12.dart b/pkg/front_end/benchmarks/patterns/generated/datatype12.dart
new file mode 100644
index 0000000..ee6fa5a
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype12.dart
@@ -0,0 +1,389 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base12 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor12<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base12 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor12<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+List<Base12> createData12() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+  ];
+}
+
+void incByDynamicDispatch12(Base12 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch12(Base12 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  }
+}
+
+const Visitor12<void, Counter> visitor = CounterVisitor12();
+
+void incByVisitorDispatch12(Base12 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor12<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+}
+
+class CounterVisitor12 implements Visitor12<void, Counter> {
+  const CounterVisitor12();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype128.dart b/pkg/front_end/benchmarks/patterns/generated/datatype128.dart
new file mode 100644
index 0000000..3c9f086
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype128.dart
@@ -0,0 +1,3753 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base128 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor128<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+class Sub24 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub24(this, arg);
+  }
+}
+
+class Sub25 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub25(this, arg);
+  }
+}
+
+class Sub26 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub26(this, arg);
+  }
+}
+
+class Sub27 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub27(this, arg);
+  }
+}
+
+class Sub28 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub28(this, arg);
+  }
+}
+
+class Sub29 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub29(this, arg);
+  }
+}
+
+class Sub30 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub30(this, arg);
+  }
+}
+
+class Sub31 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub31(this, arg);
+  }
+}
+
+class Sub32 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub32(this, arg);
+  }
+}
+
+class Sub33 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub33(this, arg);
+  }
+}
+
+class Sub34 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub34(this, arg);
+  }
+}
+
+class Sub35 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub35(this, arg);
+  }
+}
+
+class Sub36 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub36(this, arg);
+  }
+}
+
+class Sub37 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub37(this, arg);
+  }
+}
+
+class Sub38 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub38(this, arg);
+  }
+}
+
+class Sub39 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub39(this, arg);
+  }
+}
+
+class Sub40 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub40(this, arg);
+  }
+}
+
+class Sub41 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub41(this, arg);
+  }
+}
+
+class Sub42 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub42(this, arg);
+  }
+}
+
+class Sub43 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub43(this, arg);
+  }
+}
+
+class Sub44 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub44(this, arg);
+  }
+}
+
+class Sub45 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub45(this, arg);
+  }
+}
+
+class Sub46 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub46(this, arg);
+  }
+}
+
+class Sub47 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub47(this, arg);
+  }
+}
+
+class Sub48 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub48(this, arg);
+  }
+}
+
+class Sub49 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub49(this, arg);
+  }
+}
+
+class Sub50 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub50(this, arg);
+  }
+}
+
+class Sub51 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub51(this, arg);
+  }
+}
+
+class Sub52 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub52(this, arg);
+  }
+}
+
+class Sub53 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub53(this, arg);
+  }
+}
+
+class Sub54 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub54(this, arg);
+  }
+}
+
+class Sub55 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub55(this, arg);
+  }
+}
+
+class Sub56 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub56(this, arg);
+  }
+}
+
+class Sub57 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub57(this, arg);
+  }
+}
+
+class Sub58 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub58(this, arg);
+  }
+}
+
+class Sub59 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub59(this, arg);
+  }
+}
+
+class Sub60 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub60(this, arg);
+  }
+}
+
+class Sub61 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub61(this, arg);
+  }
+}
+
+class Sub62 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub62(this, arg);
+  }
+}
+
+class Sub63 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub63(this, arg);
+  }
+}
+
+class Sub64 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub64(this, arg);
+  }
+}
+
+class Sub65 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub65(this, arg);
+  }
+}
+
+class Sub66 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub66(this, arg);
+  }
+}
+
+class Sub67 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub67(this, arg);
+  }
+}
+
+class Sub68 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub68(this, arg);
+  }
+}
+
+class Sub69 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub69(this, arg);
+  }
+}
+
+class Sub70 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub70(this, arg);
+  }
+}
+
+class Sub71 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub71(this, arg);
+  }
+}
+
+class Sub72 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub72(this, arg);
+  }
+}
+
+class Sub73 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub73(this, arg);
+  }
+}
+
+class Sub74 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub74(this, arg);
+  }
+}
+
+class Sub75 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub75(this, arg);
+  }
+}
+
+class Sub76 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub76(this, arg);
+  }
+}
+
+class Sub77 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub77(this, arg);
+  }
+}
+
+class Sub78 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub78(this, arg);
+  }
+}
+
+class Sub79 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub79(this, arg);
+  }
+}
+
+class Sub80 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub80(this, arg);
+  }
+}
+
+class Sub81 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub81(this, arg);
+  }
+}
+
+class Sub82 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub82(this, arg);
+  }
+}
+
+class Sub83 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub83(this, arg);
+  }
+}
+
+class Sub84 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub84(this, arg);
+  }
+}
+
+class Sub85 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub85(this, arg);
+  }
+}
+
+class Sub86 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub86(this, arg);
+  }
+}
+
+class Sub87 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub87(this, arg);
+  }
+}
+
+class Sub88 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub88(this, arg);
+  }
+}
+
+class Sub89 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub89(this, arg);
+  }
+}
+
+class Sub90 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub90(this, arg);
+  }
+}
+
+class Sub91 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub91(this, arg);
+  }
+}
+
+class Sub92 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub92(this, arg);
+  }
+}
+
+class Sub93 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub93(this, arg);
+  }
+}
+
+class Sub94 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub94(this, arg);
+  }
+}
+
+class Sub95 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub95(this, arg);
+  }
+}
+
+class Sub96 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch96(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch96(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub96(this, arg);
+  }
+}
+
+class Sub97 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch97(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch97(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub97(this, arg);
+  }
+}
+
+class Sub98 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch98(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch98(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub98(this, arg);
+  }
+}
+
+class Sub99 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch99(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch99(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub99(this, arg);
+  }
+}
+
+class Sub100 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch100(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch100(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub100(this, arg);
+  }
+}
+
+class Sub101 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch101(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch101(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub101(this, arg);
+  }
+}
+
+class Sub102 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch102(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch102(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub102(this, arg);
+  }
+}
+
+class Sub103 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch103(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch103(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub103(this, arg);
+  }
+}
+
+class Sub104 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch104(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch104(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub104(this, arg);
+  }
+}
+
+class Sub105 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch105(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch105(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub105(this, arg);
+  }
+}
+
+class Sub106 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch106(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch106(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub106(this, arg);
+  }
+}
+
+class Sub107 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch107(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch107(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub107(this, arg);
+  }
+}
+
+class Sub108 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch108(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch108(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub108(this, arg);
+  }
+}
+
+class Sub109 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch109(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch109(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub109(this, arg);
+  }
+}
+
+class Sub110 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch110(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch110(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub110(this, arg);
+  }
+}
+
+class Sub111 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch111(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch111(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub111(this, arg);
+  }
+}
+
+class Sub112 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch112(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch112(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub112(this, arg);
+  }
+}
+
+class Sub113 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch113(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch113(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub113(this, arg);
+  }
+}
+
+class Sub114 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch114(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch114(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub114(this, arg);
+  }
+}
+
+class Sub115 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch115(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch115(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub115(this, arg);
+  }
+}
+
+class Sub116 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch116(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch116(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub116(this, arg);
+  }
+}
+
+class Sub117 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch117(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch117(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub117(this, arg);
+  }
+}
+
+class Sub118 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch118(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch118(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub118(this, arg);
+  }
+}
+
+class Sub119 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch119(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch119(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub119(this, arg);
+  }
+}
+
+class Sub120 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch120(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch120(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub120(this, arg);
+  }
+}
+
+class Sub121 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch121(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch121(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub121(this, arg);
+  }
+}
+
+class Sub122 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch122(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch122(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub122(this, arg);
+  }
+}
+
+class Sub123 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch123(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch123(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub123(this, arg);
+  }
+}
+
+class Sub124 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch124(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch124(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub124(this, arg);
+  }
+}
+
+class Sub125 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch125(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch125(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub125(this, arg);
+  }
+}
+
+class Sub126 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch126(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch126(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub126(this, arg);
+  }
+}
+
+class Sub127 extends Base128 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch127(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch127(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor128<R, A> visitor, A arg) {
+    return visitor.visitSub127(this, arg);
+  }
+}
+
+List<Base128> createData128() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+    Sub24(),
+    Sub25(),
+    Sub26(),
+    Sub27(),
+    Sub28(),
+    Sub29(),
+    Sub30(),
+    Sub31(),
+    Sub32(),
+    Sub33(),
+    Sub34(),
+    Sub35(),
+    Sub36(),
+    Sub37(),
+    Sub38(),
+    Sub39(),
+    Sub40(),
+    Sub41(),
+    Sub42(),
+    Sub43(),
+    Sub44(),
+    Sub45(),
+    Sub46(),
+    Sub47(),
+    Sub48(),
+    Sub49(),
+    Sub50(),
+    Sub51(),
+    Sub52(),
+    Sub53(),
+    Sub54(),
+    Sub55(),
+    Sub56(),
+    Sub57(),
+    Sub58(),
+    Sub59(),
+    Sub60(),
+    Sub61(),
+    Sub62(),
+    Sub63(),
+    Sub64(),
+    Sub65(),
+    Sub66(),
+    Sub67(),
+    Sub68(),
+    Sub69(),
+    Sub70(),
+    Sub71(),
+    Sub72(),
+    Sub73(),
+    Sub74(),
+    Sub75(),
+    Sub76(),
+    Sub77(),
+    Sub78(),
+    Sub79(),
+    Sub80(),
+    Sub81(),
+    Sub82(),
+    Sub83(),
+    Sub84(),
+    Sub85(),
+    Sub86(),
+    Sub87(),
+    Sub88(),
+    Sub89(),
+    Sub90(),
+    Sub91(),
+    Sub92(),
+    Sub93(),
+    Sub94(),
+    Sub95(),
+    Sub96(),
+    Sub97(),
+    Sub98(),
+    Sub99(),
+    Sub100(),
+    Sub101(),
+    Sub102(),
+    Sub103(),
+    Sub104(),
+    Sub105(),
+    Sub106(),
+    Sub107(),
+    Sub108(),
+    Sub109(),
+    Sub110(),
+    Sub111(),
+    Sub112(),
+    Sub113(),
+    Sub114(),
+    Sub115(),
+    Sub116(),
+    Sub117(),
+    Sub118(),
+    Sub119(),
+    Sub120(),
+    Sub121(),
+    Sub122(),
+    Sub123(),
+    Sub124(),
+    Sub125(),
+    Sub126(),
+    Sub127(),
+  ];
+}
+
+void incByDynamicDispatch128(Base128 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch128(Base128 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  } else if (base is Sub24) {
+    base.ifThenElseDispatch24(counter);
+  } else if (base is Sub25) {
+    base.ifThenElseDispatch25(counter);
+  } else if (base is Sub26) {
+    base.ifThenElseDispatch26(counter);
+  } else if (base is Sub27) {
+    base.ifThenElseDispatch27(counter);
+  } else if (base is Sub28) {
+    base.ifThenElseDispatch28(counter);
+  } else if (base is Sub29) {
+    base.ifThenElseDispatch29(counter);
+  } else if (base is Sub30) {
+    base.ifThenElseDispatch30(counter);
+  } else if (base is Sub31) {
+    base.ifThenElseDispatch31(counter);
+  } else if (base is Sub32) {
+    base.ifThenElseDispatch32(counter);
+  } else if (base is Sub33) {
+    base.ifThenElseDispatch33(counter);
+  } else if (base is Sub34) {
+    base.ifThenElseDispatch34(counter);
+  } else if (base is Sub35) {
+    base.ifThenElseDispatch35(counter);
+  } else if (base is Sub36) {
+    base.ifThenElseDispatch36(counter);
+  } else if (base is Sub37) {
+    base.ifThenElseDispatch37(counter);
+  } else if (base is Sub38) {
+    base.ifThenElseDispatch38(counter);
+  } else if (base is Sub39) {
+    base.ifThenElseDispatch39(counter);
+  } else if (base is Sub40) {
+    base.ifThenElseDispatch40(counter);
+  } else if (base is Sub41) {
+    base.ifThenElseDispatch41(counter);
+  } else if (base is Sub42) {
+    base.ifThenElseDispatch42(counter);
+  } else if (base is Sub43) {
+    base.ifThenElseDispatch43(counter);
+  } else if (base is Sub44) {
+    base.ifThenElseDispatch44(counter);
+  } else if (base is Sub45) {
+    base.ifThenElseDispatch45(counter);
+  } else if (base is Sub46) {
+    base.ifThenElseDispatch46(counter);
+  } else if (base is Sub47) {
+    base.ifThenElseDispatch47(counter);
+  } else if (base is Sub48) {
+    base.ifThenElseDispatch48(counter);
+  } else if (base is Sub49) {
+    base.ifThenElseDispatch49(counter);
+  } else if (base is Sub50) {
+    base.ifThenElseDispatch50(counter);
+  } else if (base is Sub51) {
+    base.ifThenElseDispatch51(counter);
+  } else if (base is Sub52) {
+    base.ifThenElseDispatch52(counter);
+  } else if (base is Sub53) {
+    base.ifThenElseDispatch53(counter);
+  } else if (base is Sub54) {
+    base.ifThenElseDispatch54(counter);
+  } else if (base is Sub55) {
+    base.ifThenElseDispatch55(counter);
+  } else if (base is Sub56) {
+    base.ifThenElseDispatch56(counter);
+  } else if (base is Sub57) {
+    base.ifThenElseDispatch57(counter);
+  } else if (base is Sub58) {
+    base.ifThenElseDispatch58(counter);
+  } else if (base is Sub59) {
+    base.ifThenElseDispatch59(counter);
+  } else if (base is Sub60) {
+    base.ifThenElseDispatch60(counter);
+  } else if (base is Sub61) {
+    base.ifThenElseDispatch61(counter);
+  } else if (base is Sub62) {
+    base.ifThenElseDispatch62(counter);
+  } else if (base is Sub63) {
+    base.ifThenElseDispatch63(counter);
+  } else if (base is Sub64) {
+    base.ifThenElseDispatch64(counter);
+  } else if (base is Sub65) {
+    base.ifThenElseDispatch65(counter);
+  } else if (base is Sub66) {
+    base.ifThenElseDispatch66(counter);
+  } else if (base is Sub67) {
+    base.ifThenElseDispatch67(counter);
+  } else if (base is Sub68) {
+    base.ifThenElseDispatch68(counter);
+  } else if (base is Sub69) {
+    base.ifThenElseDispatch69(counter);
+  } else if (base is Sub70) {
+    base.ifThenElseDispatch70(counter);
+  } else if (base is Sub71) {
+    base.ifThenElseDispatch71(counter);
+  } else if (base is Sub72) {
+    base.ifThenElseDispatch72(counter);
+  } else if (base is Sub73) {
+    base.ifThenElseDispatch73(counter);
+  } else if (base is Sub74) {
+    base.ifThenElseDispatch74(counter);
+  } else if (base is Sub75) {
+    base.ifThenElseDispatch75(counter);
+  } else if (base is Sub76) {
+    base.ifThenElseDispatch76(counter);
+  } else if (base is Sub77) {
+    base.ifThenElseDispatch77(counter);
+  } else if (base is Sub78) {
+    base.ifThenElseDispatch78(counter);
+  } else if (base is Sub79) {
+    base.ifThenElseDispatch79(counter);
+  } else if (base is Sub80) {
+    base.ifThenElseDispatch80(counter);
+  } else if (base is Sub81) {
+    base.ifThenElseDispatch81(counter);
+  } else if (base is Sub82) {
+    base.ifThenElseDispatch82(counter);
+  } else if (base is Sub83) {
+    base.ifThenElseDispatch83(counter);
+  } else if (base is Sub84) {
+    base.ifThenElseDispatch84(counter);
+  } else if (base is Sub85) {
+    base.ifThenElseDispatch85(counter);
+  } else if (base is Sub86) {
+    base.ifThenElseDispatch86(counter);
+  } else if (base is Sub87) {
+    base.ifThenElseDispatch87(counter);
+  } else if (base is Sub88) {
+    base.ifThenElseDispatch88(counter);
+  } else if (base is Sub89) {
+    base.ifThenElseDispatch89(counter);
+  } else if (base is Sub90) {
+    base.ifThenElseDispatch90(counter);
+  } else if (base is Sub91) {
+    base.ifThenElseDispatch91(counter);
+  } else if (base is Sub92) {
+    base.ifThenElseDispatch92(counter);
+  } else if (base is Sub93) {
+    base.ifThenElseDispatch93(counter);
+  } else if (base is Sub94) {
+    base.ifThenElseDispatch94(counter);
+  } else if (base is Sub95) {
+    base.ifThenElseDispatch95(counter);
+  } else if (base is Sub96) {
+    base.ifThenElseDispatch96(counter);
+  } else if (base is Sub97) {
+    base.ifThenElseDispatch97(counter);
+  } else if (base is Sub98) {
+    base.ifThenElseDispatch98(counter);
+  } else if (base is Sub99) {
+    base.ifThenElseDispatch99(counter);
+  } else if (base is Sub100) {
+    base.ifThenElseDispatch100(counter);
+  } else if (base is Sub101) {
+    base.ifThenElseDispatch101(counter);
+  } else if (base is Sub102) {
+    base.ifThenElseDispatch102(counter);
+  } else if (base is Sub103) {
+    base.ifThenElseDispatch103(counter);
+  } else if (base is Sub104) {
+    base.ifThenElseDispatch104(counter);
+  } else if (base is Sub105) {
+    base.ifThenElseDispatch105(counter);
+  } else if (base is Sub106) {
+    base.ifThenElseDispatch106(counter);
+  } else if (base is Sub107) {
+    base.ifThenElseDispatch107(counter);
+  } else if (base is Sub108) {
+    base.ifThenElseDispatch108(counter);
+  } else if (base is Sub109) {
+    base.ifThenElseDispatch109(counter);
+  } else if (base is Sub110) {
+    base.ifThenElseDispatch110(counter);
+  } else if (base is Sub111) {
+    base.ifThenElseDispatch111(counter);
+  } else if (base is Sub112) {
+    base.ifThenElseDispatch112(counter);
+  } else if (base is Sub113) {
+    base.ifThenElseDispatch113(counter);
+  } else if (base is Sub114) {
+    base.ifThenElseDispatch114(counter);
+  } else if (base is Sub115) {
+    base.ifThenElseDispatch115(counter);
+  } else if (base is Sub116) {
+    base.ifThenElseDispatch116(counter);
+  } else if (base is Sub117) {
+    base.ifThenElseDispatch117(counter);
+  } else if (base is Sub118) {
+    base.ifThenElseDispatch118(counter);
+  } else if (base is Sub119) {
+    base.ifThenElseDispatch119(counter);
+  } else if (base is Sub120) {
+    base.ifThenElseDispatch120(counter);
+  } else if (base is Sub121) {
+    base.ifThenElseDispatch121(counter);
+  } else if (base is Sub122) {
+    base.ifThenElseDispatch122(counter);
+  } else if (base is Sub123) {
+    base.ifThenElseDispatch123(counter);
+  } else if (base is Sub124) {
+    base.ifThenElseDispatch124(counter);
+  } else if (base is Sub125) {
+    base.ifThenElseDispatch125(counter);
+  } else if (base is Sub126) {
+    base.ifThenElseDispatch126(counter);
+  } else if (base is Sub127) {
+    base.ifThenElseDispatch127(counter);
+  }
+}
+
+const Visitor128<void, Counter> visitor = CounterVisitor128();
+
+void incByVisitorDispatch128(Base128 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor128<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+  R visitSub24(Sub24 sub, A arg);
+  R visitSub25(Sub25 sub, A arg);
+  R visitSub26(Sub26 sub, A arg);
+  R visitSub27(Sub27 sub, A arg);
+  R visitSub28(Sub28 sub, A arg);
+  R visitSub29(Sub29 sub, A arg);
+  R visitSub30(Sub30 sub, A arg);
+  R visitSub31(Sub31 sub, A arg);
+  R visitSub32(Sub32 sub, A arg);
+  R visitSub33(Sub33 sub, A arg);
+  R visitSub34(Sub34 sub, A arg);
+  R visitSub35(Sub35 sub, A arg);
+  R visitSub36(Sub36 sub, A arg);
+  R visitSub37(Sub37 sub, A arg);
+  R visitSub38(Sub38 sub, A arg);
+  R visitSub39(Sub39 sub, A arg);
+  R visitSub40(Sub40 sub, A arg);
+  R visitSub41(Sub41 sub, A arg);
+  R visitSub42(Sub42 sub, A arg);
+  R visitSub43(Sub43 sub, A arg);
+  R visitSub44(Sub44 sub, A arg);
+  R visitSub45(Sub45 sub, A arg);
+  R visitSub46(Sub46 sub, A arg);
+  R visitSub47(Sub47 sub, A arg);
+  R visitSub48(Sub48 sub, A arg);
+  R visitSub49(Sub49 sub, A arg);
+  R visitSub50(Sub50 sub, A arg);
+  R visitSub51(Sub51 sub, A arg);
+  R visitSub52(Sub52 sub, A arg);
+  R visitSub53(Sub53 sub, A arg);
+  R visitSub54(Sub54 sub, A arg);
+  R visitSub55(Sub55 sub, A arg);
+  R visitSub56(Sub56 sub, A arg);
+  R visitSub57(Sub57 sub, A arg);
+  R visitSub58(Sub58 sub, A arg);
+  R visitSub59(Sub59 sub, A arg);
+  R visitSub60(Sub60 sub, A arg);
+  R visitSub61(Sub61 sub, A arg);
+  R visitSub62(Sub62 sub, A arg);
+  R visitSub63(Sub63 sub, A arg);
+  R visitSub64(Sub64 sub, A arg);
+  R visitSub65(Sub65 sub, A arg);
+  R visitSub66(Sub66 sub, A arg);
+  R visitSub67(Sub67 sub, A arg);
+  R visitSub68(Sub68 sub, A arg);
+  R visitSub69(Sub69 sub, A arg);
+  R visitSub70(Sub70 sub, A arg);
+  R visitSub71(Sub71 sub, A arg);
+  R visitSub72(Sub72 sub, A arg);
+  R visitSub73(Sub73 sub, A arg);
+  R visitSub74(Sub74 sub, A arg);
+  R visitSub75(Sub75 sub, A arg);
+  R visitSub76(Sub76 sub, A arg);
+  R visitSub77(Sub77 sub, A arg);
+  R visitSub78(Sub78 sub, A arg);
+  R visitSub79(Sub79 sub, A arg);
+  R visitSub80(Sub80 sub, A arg);
+  R visitSub81(Sub81 sub, A arg);
+  R visitSub82(Sub82 sub, A arg);
+  R visitSub83(Sub83 sub, A arg);
+  R visitSub84(Sub84 sub, A arg);
+  R visitSub85(Sub85 sub, A arg);
+  R visitSub86(Sub86 sub, A arg);
+  R visitSub87(Sub87 sub, A arg);
+  R visitSub88(Sub88 sub, A arg);
+  R visitSub89(Sub89 sub, A arg);
+  R visitSub90(Sub90 sub, A arg);
+  R visitSub91(Sub91 sub, A arg);
+  R visitSub92(Sub92 sub, A arg);
+  R visitSub93(Sub93 sub, A arg);
+  R visitSub94(Sub94 sub, A arg);
+  R visitSub95(Sub95 sub, A arg);
+  R visitSub96(Sub96 sub, A arg);
+  R visitSub97(Sub97 sub, A arg);
+  R visitSub98(Sub98 sub, A arg);
+  R visitSub99(Sub99 sub, A arg);
+  R visitSub100(Sub100 sub, A arg);
+  R visitSub101(Sub101 sub, A arg);
+  R visitSub102(Sub102 sub, A arg);
+  R visitSub103(Sub103 sub, A arg);
+  R visitSub104(Sub104 sub, A arg);
+  R visitSub105(Sub105 sub, A arg);
+  R visitSub106(Sub106 sub, A arg);
+  R visitSub107(Sub107 sub, A arg);
+  R visitSub108(Sub108 sub, A arg);
+  R visitSub109(Sub109 sub, A arg);
+  R visitSub110(Sub110 sub, A arg);
+  R visitSub111(Sub111 sub, A arg);
+  R visitSub112(Sub112 sub, A arg);
+  R visitSub113(Sub113 sub, A arg);
+  R visitSub114(Sub114 sub, A arg);
+  R visitSub115(Sub115 sub, A arg);
+  R visitSub116(Sub116 sub, A arg);
+  R visitSub117(Sub117 sub, A arg);
+  R visitSub118(Sub118 sub, A arg);
+  R visitSub119(Sub119 sub, A arg);
+  R visitSub120(Sub120 sub, A arg);
+  R visitSub121(Sub121 sub, A arg);
+  R visitSub122(Sub122 sub, A arg);
+  R visitSub123(Sub123 sub, A arg);
+  R visitSub124(Sub124 sub, A arg);
+  R visitSub125(Sub125 sub, A arg);
+  R visitSub126(Sub126 sub, A arg);
+  R visitSub127(Sub127 sub, A arg);
+}
+
+class CounterVisitor128 implements Visitor128<void, Counter> {
+  const CounterVisitor128();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+
+  @override
+  void visitSub24(Sub24 sub, Counter counter) {
+    sub.visitorDispatch24(counter);
+  }
+
+  @override
+  void visitSub25(Sub25 sub, Counter counter) {
+    sub.visitorDispatch25(counter);
+  }
+
+  @override
+  void visitSub26(Sub26 sub, Counter counter) {
+    sub.visitorDispatch26(counter);
+  }
+
+  @override
+  void visitSub27(Sub27 sub, Counter counter) {
+    sub.visitorDispatch27(counter);
+  }
+
+  @override
+  void visitSub28(Sub28 sub, Counter counter) {
+    sub.visitorDispatch28(counter);
+  }
+
+  @override
+  void visitSub29(Sub29 sub, Counter counter) {
+    sub.visitorDispatch29(counter);
+  }
+
+  @override
+  void visitSub30(Sub30 sub, Counter counter) {
+    sub.visitorDispatch30(counter);
+  }
+
+  @override
+  void visitSub31(Sub31 sub, Counter counter) {
+    sub.visitorDispatch31(counter);
+  }
+
+  @override
+  void visitSub32(Sub32 sub, Counter counter) {
+    sub.visitorDispatch32(counter);
+  }
+
+  @override
+  void visitSub33(Sub33 sub, Counter counter) {
+    sub.visitorDispatch33(counter);
+  }
+
+  @override
+  void visitSub34(Sub34 sub, Counter counter) {
+    sub.visitorDispatch34(counter);
+  }
+
+  @override
+  void visitSub35(Sub35 sub, Counter counter) {
+    sub.visitorDispatch35(counter);
+  }
+
+  @override
+  void visitSub36(Sub36 sub, Counter counter) {
+    sub.visitorDispatch36(counter);
+  }
+
+  @override
+  void visitSub37(Sub37 sub, Counter counter) {
+    sub.visitorDispatch37(counter);
+  }
+
+  @override
+  void visitSub38(Sub38 sub, Counter counter) {
+    sub.visitorDispatch38(counter);
+  }
+
+  @override
+  void visitSub39(Sub39 sub, Counter counter) {
+    sub.visitorDispatch39(counter);
+  }
+
+  @override
+  void visitSub40(Sub40 sub, Counter counter) {
+    sub.visitorDispatch40(counter);
+  }
+
+  @override
+  void visitSub41(Sub41 sub, Counter counter) {
+    sub.visitorDispatch41(counter);
+  }
+
+  @override
+  void visitSub42(Sub42 sub, Counter counter) {
+    sub.visitorDispatch42(counter);
+  }
+
+  @override
+  void visitSub43(Sub43 sub, Counter counter) {
+    sub.visitorDispatch43(counter);
+  }
+
+  @override
+  void visitSub44(Sub44 sub, Counter counter) {
+    sub.visitorDispatch44(counter);
+  }
+
+  @override
+  void visitSub45(Sub45 sub, Counter counter) {
+    sub.visitorDispatch45(counter);
+  }
+
+  @override
+  void visitSub46(Sub46 sub, Counter counter) {
+    sub.visitorDispatch46(counter);
+  }
+
+  @override
+  void visitSub47(Sub47 sub, Counter counter) {
+    sub.visitorDispatch47(counter);
+  }
+
+  @override
+  void visitSub48(Sub48 sub, Counter counter) {
+    sub.visitorDispatch48(counter);
+  }
+
+  @override
+  void visitSub49(Sub49 sub, Counter counter) {
+    sub.visitorDispatch49(counter);
+  }
+
+  @override
+  void visitSub50(Sub50 sub, Counter counter) {
+    sub.visitorDispatch50(counter);
+  }
+
+  @override
+  void visitSub51(Sub51 sub, Counter counter) {
+    sub.visitorDispatch51(counter);
+  }
+
+  @override
+  void visitSub52(Sub52 sub, Counter counter) {
+    sub.visitorDispatch52(counter);
+  }
+
+  @override
+  void visitSub53(Sub53 sub, Counter counter) {
+    sub.visitorDispatch53(counter);
+  }
+
+  @override
+  void visitSub54(Sub54 sub, Counter counter) {
+    sub.visitorDispatch54(counter);
+  }
+
+  @override
+  void visitSub55(Sub55 sub, Counter counter) {
+    sub.visitorDispatch55(counter);
+  }
+
+  @override
+  void visitSub56(Sub56 sub, Counter counter) {
+    sub.visitorDispatch56(counter);
+  }
+
+  @override
+  void visitSub57(Sub57 sub, Counter counter) {
+    sub.visitorDispatch57(counter);
+  }
+
+  @override
+  void visitSub58(Sub58 sub, Counter counter) {
+    sub.visitorDispatch58(counter);
+  }
+
+  @override
+  void visitSub59(Sub59 sub, Counter counter) {
+    sub.visitorDispatch59(counter);
+  }
+
+  @override
+  void visitSub60(Sub60 sub, Counter counter) {
+    sub.visitorDispatch60(counter);
+  }
+
+  @override
+  void visitSub61(Sub61 sub, Counter counter) {
+    sub.visitorDispatch61(counter);
+  }
+
+  @override
+  void visitSub62(Sub62 sub, Counter counter) {
+    sub.visitorDispatch62(counter);
+  }
+
+  @override
+  void visitSub63(Sub63 sub, Counter counter) {
+    sub.visitorDispatch63(counter);
+  }
+
+  @override
+  void visitSub64(Sub64 sub, Counter counter) {
+    sub.visitorDispatch64(counter);
+  }
+
+  @override
+  void visitSub65(Sub65 sub, Counter counter) {
+    sub.visitorDispatch65(counter);
+  }
+
+  @override
+  void visitSub66(Sub66 sub, Counter counter) {
+    sub.visitorDispatch66(counter);
+  }
+
+  @override
+  void visitSub67(Sub67 sub, Counter counter) {
+    sub.visitorDispatch67(counter);
+  }
+
+  @override
+  void visitSub68(Sub68 sub, Counter counter) {
+    sub.visitorDispatch68(counter);
+  }
+
+  @override
+  void visitSub69(Sub69 sub, Counter counter) {
+    sub.visitorDispatch69(counter);
+  }
+
+  @override
+  void visitSub70(Sub70 sub, Counter counter) {
+    sub.visitorDispatch70(counter);
+  }
+
+  @override
+  void visitSub71(Sub71 sub, Counter counter) {
+    sub.visitorDispatch71(counter);
+  }
+
+  @override
+  void visitSub72(Sub72 sub, Counter counter) {
+    sub.visitorDispatch72(counter);
+  }
+
+  @override
+  void visitSub73(Sub73 sub, Counter counter) {
+    sub.visitorDispatch73(counter);
+  }
+
+  @override
+  void visitSub74(Sub74 sub, Counter counter) {
+    sub.visitorDispatch74(counter);
+  }
+
+  @override
+  void visitSub75(Sub75 sub, Counter counter) {
+    sub.visitorDispatch75(counter);
+  }
+
+  @override
+  void visitSub76(Sub76 sub, Counter counter) {
+    sub.visitorDispatch76(counter);
+  }
+
+  @override
+  void visitSub77(Sub77 sub, Counter counter) {
+    sub.visitorDispatch77(counter);
+  }
+
+  @override
+  void visitSub78(Sub78 sub, Counter counter) {
+    sub.visitorDispatch78(counter);
+  }
+
+  @override
+  void visitSub79(Sub79 sub, Counter counter) {
+    sub.visitorDispatch79(counter);
+  }
+
+  @override
+  void visitSub80(Sub80 sub, Counter counter) {
+    sub.visitorDispatch80(counter);
+  }
+
+  @override
+  void visitSub81(Sub81 sub, Counter counter) {
+    sub.visitorDispatch81(counter);
+  }
+
+  @override
+  void visitSub82(Sub82 sub, Counter counter) {
+    sub.visitorDispatch82(counter);
+  }
+
+  @override
+  void visitSub83(Sub83 sub, Counter counter) {
+    sub.visitorDispatch83(counter);
+  }
+
+  @override
+  void visitSub84(Sub84 sub, Counter counter) {
+    sub.visitorDispatch84(counter);
+  }
+
+  @override
+  void visitSub85(Sub85 sub, Counter counter) {
+    sub.visitorDispatch85(counter);
+  }
+
+  @override
+  void visitSub86(Sub86 sub, Counter counter) {
+    sub.visitorDispatch86(counter);
+  }
+
+  @override
+  void visitSub87(Sub87 sub, Counter counter) {
+    sub.visitorDispatch87(counter);
+  }
+
+  @override
+  void visitSub88(Sub88 sub, Counter counter) {
+    sub.visitorDispatch88(counter);
+  }
+
+  @override
+  void visitSub89(Sub89 sub, Counter counter) {
+    sub.visitorDispatch89(counter);
+  }
+
+  @override
+  void visitSub90(Sub90 sub, Counter counter) {
+    sub.visitorDispatch90(counter);
+  }
+
+  @override
+  void visitSub91(Sub91 sub, Counter counter) {
+    sub.visitorDispatch91(counter);
+  }
+
+  @override
+  void visitSub92(Sub92 sub, Counter counter) {
+    sub.visitorDispatch92(counter);
+  }
+
+  @override
+  void visitSub93(Sub93 sub, Counter counter) {
+    sub.visitorDispatch93(counter);
+  }
+
+  @override
+  void visitSub94(Sub94 sub, Counter counter) {
+    sub.visitorDispatch94(counter);
+  }
+
+  @override
+  void visitSub95(Sub95 sub, Counter counter) {
+    sub.visitorDispatch95(counter);
+  }
+
+  @override
+  void visitSub96(Sub96 sub, Counter counter) {
+    sub.visitorDispatch96(counter);
+  }
+
+  @override
+  void visitSub97(Sub97 sub, Counter counter) {
+    sub.visitorDispatch97(counter);
+  }
+
+  @override
+  void visitSub98(Sub98 sub, Counter counter) {
+    sub.visitorDispatch98(counter);
+  }
+
+  @override
+  void visitSub99(Sub99 sub, Counter counter) {
+    sub.visitorDispatch99(counter);
+  }
+
+  @override
+  void visitSub100(Sub100 sub, Counter counter) {
+    sub.visitorDispatch100(counter);
+  }
+
+  @override
+  void visitSub101(Sub101 sub, Counter counter) {
+    sub.visitorDispatch101(counter);
+  }
+
+  @override
+  void visitSub102(Sub102 sub, Counter counter) {
+    sub.visitorDispatch102(counter);
+  }
+
+  @override
+  void visitSub103(Sub103 sub, Counter counter) {
+    sub.visitorDispatch103(counter);
+  }
+
+  @override
+  void visitSub104(Sub104 sub, Counter counter) {
+    sub.visitorDispatch104(counter);
+  }
+
+  @override
+  void visitSub105(Sub105 sub, Counter counter) {
+    sub.visitorDispatch105(counter);
+  }
+
+  @override
+  void visitSub106(Sub106 sub, Counter counter) {
+    sub.visitorDispatch106(counter);
+  }
+
+  @override
+  void visitSub107(Sub107 sub, Counter counter) {
+    sub.visitorDispatch107(counter);
+  }
+
+  @override
+  void visitSub108(Sub108 sub, Counter counter) {
+    sub.visitorDispatch108(counter);
+  }
+
+  @override
+  void visitSub109(Sub109 sub, Counter counter) {
+    sub.visitorDispatch109(counter);
+  }
+
+  @override
+  void visitSub110(Sub110 sub, Counter counter) {
+    sub.visitorDispatch110(counter);
+  }
+
+  @override
+  void visitSub111(Sub111 sub, Counter counter) {
+    sub.visitorDispatch111(counter);
+  }
+
+  @override
+  void visitSub112(Sub112 sub, Counter counter) {
+    sub.visitorDispatch112(counter);
+  }
+
+  @override
+  void visitSub113(Sub113 sub, Counter counter) {
+    sub.visitorDispatch113(counter);
+  }
+
+  @override
+  void visitSub114(Sub114 sub, Counter counter) {
+    sub.visitorDispatch114(counter);
+  }
+
+  @override
+  void visitSub115(Sub115 sub, Counter counter) {
+    sub.visitorDispatch115(counter);
+  }
+
+  @override
+  void visitSub116(Sub116 sub, Counter counter) {
+    sub.visitorDispatch116(counter);
+  }
+
+  @override
+  void visitSub117(Sub117 sub, Counter counter) {
+    sub.visitorDispatch117(counter);
+  }
+
+  @override
+  void visitSub118(Sub118 sub, Counter counter) {
+    sub.visitorDispatch118(counter);
+  }
+
+  @override
+  void visitSub119(Sub119 sub, Counter counter) {
+    sub.visitorDispatch119(counter);
+  }
+
+  @override
+  void visitSub120(Sub120 sub, Counter counter) {
+    sub.visitorDispatch120(counter);
+  }
+
+  @override
+  void visitSub121(Sub121 sub, Counter counter) {
+    sub.visitorDispatch121(counter);
+  }
+
+  @override
+  void visitSub122(Sub122 sub, Counter counter) {
+    sub.visitorDispatch122(counter);
+  }
+
+  @override
+  void visitSub123(Sub123 sub, Counter counter) {
+    sub.visitorDispatch123(counter);
+  }
+
+  @override
+  void visitSub124(Sub124 sub, Counter counter) {
+    sub.visitorDispatch124(counter);
+  }
+
+  @override
+  void visitSub125(Sub125 sub, Counter counter) {
+    sub.visitorDispatch125(counter);
+  }
+
+  @override
+  void visitSub126(Sub126 sub, Counter counter) {
+    sub.visitorDispatch126(counter);
+  }
+
+  @override
+  void visitSub127(Sub127 sub, Counter counter) {
+    sub.visitorDispatch127(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype16.dart b/pkg/front_end/benchmarks/patterns/generated/datatype16.dart
new file mode 100644
index 0000000..995b382
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype16.dart
@@ -0,0 +1,505 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base16 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor16<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base16 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor16<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+List<Base16> createData16() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+  ];
+}
+
+void incByDynamicDispatch16(Base16 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch16(Base16 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  }
+}
+
+const Visitor16<void, Counter> visitor = CounterVisitor16();
+
+void incByVisitorDispatch16(Base16 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor16<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+}
+
+class CounterVisitor16 implements Visitor16<void, Counter> {
+  const CounterVisitor16();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype192.dart b/pkg/front_end/benchmarks/patterns/generated/datatype192.dart
new file mode 100644
index 0000000..fcd4e20
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype192.dart
@@ -0,0 +1,5609 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base192 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor192<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+class Sub24 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub24(this, arg);
+  }
+}
+
+class Sub25 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub25(this, arg);
+  }
+}
+
+class Sub26 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub26(this, arg);
+  }
+}
+
+class Sub27 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub27(this, arg);
+  }
+}
+
+class Sub28 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub28(this, arg);
+  }
+}
+
+class Sub29 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub29(this, arg);
+  }
+}
+
+class Sub30 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub30(this, arg);
+  }
+}
+
+class Sub31 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub31(this, arg);
+  }
+}
+
+class Sub32 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub32(this, arg);
+  }
+}
+
+class Sub33 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub33(this, arg);
+  }
+}
+
+class Sub34 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub34(this, arg);
+  }
+}
+
+class Sub35 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub35(this, arg);
+  }
+}
+
+class Sub36 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub36(this, arg);
+  }
+}
+
+class Sub37 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub37(this, arg);
+  }
+}
+
+class Sub38 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub38(this, arg);
+  }
+}
+
+class Sub39 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub39(this, arg);
+  }
+}
+
+class Sub40 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub40(this, arg);
+  }
+}
+
+class Sub41 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub41(this, arg);
+  }
+}
+
+class Sub42 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub42(this, arg);
+  }
+}
+
+class Sub43 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub43(this, arg);
+  }
+}
+
+class Sub44 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub44(this, arg);
+  }
+}
+
+class Sub45 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub45(this, arg);
+  }
+}
+
+class Sub46 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub46(this, arg);
+  }
+}
+
+class Sub47 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub47(this, arg);
+  }
+}
+
+class Sub48 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub48(this, arg);
+  }
+}
+
+class Sub49 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub49(this, arg);
+  }
+}
+
+class Sub50 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub50(this, arg);
+  }
+}
+
+class Sub51 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub51(this, arg);
+  }
+}
+
+class Sub52 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub52(this, arg);
+  }
+}
+
+class Sub53 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub53(this, arg);
+  }
+}
+
+class Sub54 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub54(this, arg);
+  }
+}
+
+class Sub55 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub55(this, arg);
+  }
+}
+
+class Sub56 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub56(this, arg);
+  }
+}
+
+class Sub57 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub57(this, arg);
+  }
+}
+
+class Sub58 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub58(this, arg);
+  }
+}
+
+class Sub59 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub59(this, arg);
+  }
+}
+
+class Sub60 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub60(this, arg);
+  }
+}
+
+class Sub61 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub61(this, arg);
+  }
+}
+
+class Sub62 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub62(this, arg);
+  }
+}
+
+class Sub63 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub63(this, arg);
+  }
+}
+
+class Sub64 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub64(this, arg);
+  }
+}
+
+class Sub65 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub65(this, arg);
+  }
+}
+
+class Sub66 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub66(this, arg);
+  }
+}
+
+class Sub67 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub67(this, arg);
+  }
+}
+
+class Sub68 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub68(this, arg);
+  }
+}
+
+class Sub69 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub69(this, arg);
+  }
+}
+
+class Sub70 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub70(this, arg);
+  }
+}
+
+class Sub71 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub71(this, arg);
+  }
+}
+
+class Sub72 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub72(this, arg);
+  }
+}
+
+class Sub73 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub73(this, arg);
+  }
+}
+
+class Sub74 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub74(this, arg);
+  }
+}
+
+class Sub75 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub75(this, arg);
+  }
+}
+
+class Sub76 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub76(this, arg);
+  }
+}
+
+class Sub77 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub77(this, arg);
+  }
+}
+
+class Sub78 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub78(this, arg);
+  }
+}
+
+class Sub79 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub79(this, arg);
+  }
+}
+
+class Sub80 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub80(this, arg);
+  }
+}
+
+class Sub81 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub81(this, arg);
+  }
+}
+
+class Sub82 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub82(this, arg);
+  }
+}
+
+class Sub83 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub83(this, arg);
+  }
+}
+
+class Sub84 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub84(this, arg);
+  }
+}
+
+class Sub85 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub85(this, arg);
+  }
+}
+
+class Sub86 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub86(this, arg);
+  }
+}
+
+class Sub87 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub87(this, arg);
+  }
+}
+
+class Sub88 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub88(this, arg);
+  }
+}
+
+class Sub89 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub89(this, arg);
+  }
+}
+
+class Sub90 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub90(this, arg);
+  }
+}
+
+class Sub91 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub91(this, arg);
+  }
+}
+
+class Sub92 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub92(this, arg);
+  }
+}
+
+class Sub93 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub93(this, arg);
+  }
+}
+
+class Sub94 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub94(this, arg);
+  }
+}
+
+class Sub95 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub95(this, arg);
+  }
+}
+
+class Sub96 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch96(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch96(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub96(this, arg);
+  }
+}
+
+class Sub97 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch97(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch97(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub97(this, arg);
+  }
+}
+
+class Sub98 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch98(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch98(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub98(this, arg);
+  }
+}
+
+class Sub99 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch99(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch99(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub99(this, arg);
+  }
+}
+
+class Sub100 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch100(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch100(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub100(this, arg);
+  }
+}
+
+class Sub101 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch101(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch101(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub101(this, arg);
+  }
+}
+
+class Sub102 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch102(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch102(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub102(this, arg);
+  }
+}
+
+class Sub103 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch103(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch103(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub103(this, arg);
+  }
+}
+
+class Sub104 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch104(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch104(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub104(this, arg);
+  }
+}
+
+class Sub105 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch105(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch105(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub105(this, arg);
+  }
+}
+
+class Sub106 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch106(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch106(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub106(this, arg);
+  }
+}
+
+class Sub107 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch107(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch107(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub107(this, arg);
+  }
+}
+
+class Sub108 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch108(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch108(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub108(this, arg);
+  }
+}
+
+class Sub109 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch109(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch109(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub109(this, arg);
+  }
+}
+
+class Sub110 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch110(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch110(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub110(this, arg);
+  }
+}
+
+class Sub111 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch111(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch111(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub111(this, arg);
+  }
+}
+
+class Sub112 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch112(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch112(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub112(this, arg);
+  }
+}
+
+class Sub113 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch113(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch113(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub113(this, arg);
+  }
+}
+
+class Sub114 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch114(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch114(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub114(this, arg);
+  }
+}
+
+class Sub115 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch115(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch115(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub115(this, arg);
+  }
+}
+
+class Sub116 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch116(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch116(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub116(this, arg);
+  }
+}
+
+class Sub117 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch117(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch117(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub117(this, arg);
+  }
+}
+
+class Sub118 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch118(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch118(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub118(this, arg);
+  }
+}
+
+class Sub119 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch119(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch119(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub119(this, arg);
+  }
+}
+
+class Sub120 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch120(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch120(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub120(this, arg);
+  }
+}
+
+class Sub121 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch121(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch121(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub121(this, arg);
+  }
+}
+
+class Sub122 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch122(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch122(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub122(this, arg);
+  }
+}
+
+class Sub123 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch123(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch123(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub123(this, arg);
+  }
+}
+
+class Sub124 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch124(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch124(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub124(this, arg);
+  }
+}
+
+class Sub125 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch125(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch125(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub125(this, arg);
+  }
+}
+
+class Sub126 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch126(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch126(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub126(this, arg);
+  }
+}
+
+class Sub127 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch127(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch127(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub127(this, arg);
+  }
+}
+
+class Sub128 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch128(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch128(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub128(this, arg);
+  }
+}
+
+class Sub129 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch129(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch129(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub129(this, arg);
+  }
+}
+
+class Sub130 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch130(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch130(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub130(this, arg);
+  }
+}
+
+class Sub131 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch131(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch131(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub131(this, arg);
+  }
+}
+
+class Sub132 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch132(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch132(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub132(this, arg);
+  }
+}
+
+class Sub133 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch133(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch133(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub133(this, arg);
+  }
+}
+
+class Sub134 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch134(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch134(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub134(this, arg);
+  }
+}
+
+class Sub135 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch135(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch135(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub135(this, arg);
+  }
+}
+
+class Sub136 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch136(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch136(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub136(this, arg);
+  }
+}
+
+class Sub137 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch137(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch137(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub137(this, arg);
+  }
+}
+
+class Sub138 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch138(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch138(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub138(this, arg);
+  }
+}
+
+class Sub139 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch139(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch139(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub139(this, arg);
+  }
+}
+
+class Sub140 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch140(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch140(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub140(this, arg);
+  }
+}
+
+class Sub141 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch141(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch141(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub141(this, arg);
+  }
+}
+
+class Sub142 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch142(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch142(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub142(this, arg);
+  }
+}
+
+class Sub143 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch143(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch143(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub143(this, arg);
+  }
+}
+
+class Sub144 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch144(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch144(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub144(this, arg);
+  }
+}
+
+class Sub145 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch145(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch145(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub145(this, arg);
+  }
+}
+
+class Sub146 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch146(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch146(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub146(this, arg);
+  }
+}
+
+class Sub147 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch147(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch147(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub147(this, arg);
+  }
+}
+
+class Sub148 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch148(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch148(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub148(this, arg);
+  }
+}
+
+class Sub149 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch149(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch149(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub149(this, arg);
+  }
+}
+
+class Sub150 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch150(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch150(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub150(this, arg);
+  }
+}
+
+class Sub151 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch151(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch151(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub151(this, arg);
+  }
+}
+
+class Sub152 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch152(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch152(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub152(this, arg);
+  }
+}
+
+class Sub153 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch153(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch153(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub153(this, arg);
+  }
+}
+
+class Sub154 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch154(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch154(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub154(this, arg);
+  }
+}
+
+class Sub155 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch155(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch155(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub155(this, arg);
+  }
+}
+
+class Sub156 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch156(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch156(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub156(this, arg);
+  }
+}
+
+class Sub157 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch157(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch157(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub157(this, arg);
+  }
+}
+
+class Sub158 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch158(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch158(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub158(this, arg);
+  }
+}
+
+class Sub159 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch159(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch159(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub159(this, arg);
+  }
+}
+
+class Sub160 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch160(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch160(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub160(this, arg);
+  }
+}
+
+class Sub161 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch161(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch161(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub161(this, arg);
+  }
+}
+
+class Sub162 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch162(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch162(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub162(this, arg);
+  }
+}
+
+class Sub163 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch163(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch163(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub163(this, arg);
+  }
+}
+
+class Sub164 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch164(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch164(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub164(this, arg);
+  }
+}
+
+class Sub165 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch165(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch165(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub165(this, arg);
+  }
+}
+
+class Sub166 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch166(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch166(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub166(this, arg);
+  }
+}
+
+class Sub167 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch167(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch167(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub167(this, arg);
+  }
+}
+
+class Sub168 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch168(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch168(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub168(this, arg);
+  }
+}
+
+class Sub169 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch169(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch169(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub169(this, arg);
+  }
+}
+
+class Sub170 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch170(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch170(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub170(this, arg);
+  }
+}
+
+class Sub171 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch171(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch171(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub171(this, arg);
+  }
+}
+
+class Sub172 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch172(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch172(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub172(this, arg);
+  }
+}
+
+class Sub173 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch173(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch173(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub173(this, arg);
+  }
+}
+
+class Sub174 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch174(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch174(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub174(this, arg);
+  }
+}
+
+class Sub175 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch175(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch175(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub175(this, arg);
+  }
+}
+
+class Sub176 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch176(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch176(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub176(this, arg);
+  }
+}
+
+class Sub177 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch177(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch177(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub177(this, arg);
+  }
+}
+
+class Sub178 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch178(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch178(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub178(this, arg);
+  }
+}
+
+class Sub179 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch179(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch179(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub179(this, arg);
+  }
+}
+
+class Sub180 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch180(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch180(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub180(this, arg);
+  }
+}
+
+class Sub181 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch181(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch181(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub181(this, arg);
+  }
+}
+
+class Sub182 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch182(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch182(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub182(this, arg);
+  }
+}
+
+class Sub183 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch183(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch183(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub183(this, arg);
+  }
+}
+
+class Sub184 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch184(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch184(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub184(this, arg);
+  }
+}
+
+class Sub185 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch185(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch185(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub185(this, arg);
+  }
+}
+
+class Sub186 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch186(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch186(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub186(this, arg);
+  }
+}
+
+class Sub187 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch187(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch187(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub187(this, arg);
+  }
+}
+
+class Sub188 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch188(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch188(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub188(this, arg);
+  }
+}
+
+class Sub189 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch189(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch189(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub189(this, arg);
+  }
+}
+
+class Sub190 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch190(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch190(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub190(this, arg);
+  }
+}
+
+class Sub191 extends Base192 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch191(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch191(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor192<R, A> visitor, A arg) {
+    return visitor.visitSub191(this, arg);
+  }
+}
+
+List<Base192> createData192() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+    Sub24(),
+    Sub25(),
+    Sub26(),
+    Sub27(),
+    Sub28(),
+    Sub29(),
+    Sub30(),
+    Sub31(),
+    Sub32(),
+    Sub33(),
+    Sub34(),
+    Sub35(),
+    Sub36(),
+    Sub37(),
+    Sub38(),
+    Sub39(),
+    Sub40(),
+    Sub41(),
+    Sub42(),
+    Sub43(),
+    Sub44(),
+    Sub45(),
+    Sub46(),
+    Sub47(),
+    Sub48(),
+    Sub49(),
+    Sub50(),
+    Sub51(),
+    Sub52(),
+    Sub53(),
+    Sub54(),
+    Sub55(),
+    Sub56(),
+    Sub57(),
+    Sub58(),
+    Sub59(),
+    Sub60(),
+    Sub61(),
+    Sub62(),
+    Sub63(),
+    Sub64(),
+    Sub65(),
+    Sub66(),
+    Sub67(),
+    Sub68(),
+    Sub69(),
+    Sub70(),
+    Sub71(),
+    Sub72(),
+    Sub73(),
+    Sub74(),
+    Sub75(),
+    Sub76(),
+    Sub77(),
+    Sub78(),
+    Sub79(),
+    Sub80(),
+    Sub81(),
+    Sub82(),
+    Sub83(),
+    Sub84(),
+    Sub85(),
+    Sub86(),
+    Sub87(),
+    Sub88(),
+    Sub89(),
+    Sub90(),
+    Sub91(),
+    Sub92(),
+    Sub93(),
+    Sub94(),
+    Sub95(),
+    Sub96(),
+    Sub97(),
+    Sub98(),
+    Sub99(),
+    Sub100(),
+    Sub101(),
+    Sub102(),
+    Sub103(),
+    Sub104(),
+    Sub105(),
+    Sub106(),
+    Sub107(),
+    Sub108(),
+    Sub109(),
+    Sub110(),
+    Sub111(),
+    Sub112(),
+    Sub113(),
+    Sub114(),
+    Sub115(),
+    Sub116(),
+    Sub117(),
+    Sub118(),
+    Sub119(),
+    Sub120(),
+    Sub121(),
+    Sub122(),
+    Sub123(),
+    Sub124(),
+    Sub125(),
+    Sub126(),
+    Sub127(),
+    Sub128(),
+    Sub129(),
+    Sub130(),
+    Sub131(),
+    Sub132(),
+    Sub133(),
+    Sub134(),
+    Sub135(),
+    Sub136(),
+    Sub137(),
+    Sub138(),
+    Sub139(),
+    Sub140(),
+    Sub141(),
+    Sub142(),
+    Sub143(),
+    Sub144(),
+    Sub145(),
+    Sub146(),
+    Sub147(),
+    Sub148(),
+    Sub149(),
+    Sub150(),
+    Sub151(),
+    Sub152(),
+    Sub153(),
+    Sub154(),
+    Sub155(),
+    Sub156(),
+    Sub157(),
+    Sub158(),
+    Sub159(),
+    Sub160(),
+    Sub161(),
+    Sub162(),
+    Sub163(),
+    Sub164(),
+    Sub165(),
+    Sub166(),
+    Sub167(),
+    Sub168(),
+    Sub169(),
+    Sub170(),
+    Sub171(),
+    Sub172(),
+    Sub173(),
+    Sub174(),
+    Sub175(),
+    Sub176(),
+    Sub177(),
+    Sub178(),
+    Sub179(),
+    Sub180(),
+    Sub181(),
+    Sub182(),
+    Sub183(),
+    Sub184(),
+    Sub185(),
+    Sub186(),
+    Sub187(),
+    Sub188(),
+    Sub189(),
+    Sub190(),
+    Sub191(),
+  ];
+}
+
+void incByDynamicDispatch192(Base192 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch192(Base192 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  } else if (base is Sub24) {
+    base.ifThenElseDispatch24(counter);
+  } else if (base is Sub25) {
+    base.ifThenElseDispatch25(counter);
+  } else if (base is Sub26) {
+    base.ifThenElseDispatch26(counter);
+  } else if (base is Sub27) {
+    base.ifThenElseDispatch27(counter);
+  } else if (base is Sub28) {
+    base.ifThenElseDispatch28(counter);
+  } else if (base is Sub29) {
+    base.ifThenElseDispatch29(counter);
+  } else if (base is Sub30) {
+    base.ifThenElseDispatch30(counter);
+  } else if (base is Sub31) {
+    base.ifThenElseDispatch31(counter);
+  } else if (base is Sub32) {
+    base.ifThenElseDispatch32(counter);
+  } else if (base is Sub33) {
+    base.ifThenElseDispatch33(counter);
+  } else if (base is Sub34) {
+    base.ifThenElseDispatch34(counter);
+  } else if (base is Sub35) {
+    base.ifThenElseDispatch35(counter);
+  } else if (base is Sub36) {
+    base.ifThenElseDispatch36(counter);
+  } else if (base is Sub37) {
+    base.ifThenElseDispatch37(counter);
+  } else if (base is Sub38) {
+    base.ifThenElseDispatch38(counter);
+  } else if (base is Sub39) {
+    base.ifThenElseDispatch39(counter);
+  } else if (base is Sub40) {
+    base.ifThenElseDispatch40(counter);
+  } else if (base is Sub41) {
+    base.ifThenElseDispatch41(counter);
+  } else if (base is Sub42) {
+    base.ifThenElseDispatch42(counter);
+  } else if (base is Sub43) {
+    base.ifThenElseDispatch43(counter);
+  } else if (base is Sub44) {
+    base.ifThenElseDispatch44(counter);
+  } else if (base is Sub45) {
+    base.ifThenElseDispatch45(counter);
+  } else if (base is Sub46) {
+    base.ifThenElseDispatch46(counter);
+  } else if (base is Sub47) {
+    base.ifThenElseDispatch47(counter);
+  } else if (base is Sub48) {
+    base.ifThenElseDispatch48(counter);
+  } else if (base is Sub49) {
+    base.ifThenElseDispatch49(counter);
+  } else if (base is Sub50) {
+    base.ifThenElseDispatch50(counter);
+  } else if (base is Sub51) {
+    base.ifThenElseDispatch51(counter);
+  } else if (base is Sub52) {
+    base.ifThenElseDispatch52(counter);
+  } else if (base is Sub53) {
+    base.ifThenElseDispatch53(counter);
+  } else if (base is Sub54) {
+    base.ifThenElseDispatch54(counter);
+  } else if (base is Sub55) {
+    base.ifThenElseDispatch55(counter);
+  } else if (base is Sub56) {
+    base.ifThenElseDispatch56(counter);
+  } else if (base is Sub57) {
+    base.ifThenElseDispatch57(counter);
+  } else if (base is Sub58) {
+    base.ifThenElseDispatch58(counter);
+  } else if (base is Sub59) {
+    base.ifThenElseDispatch59(counter);
+  } else if (base is Sub60) {
+    base.ifThenElseDispatch60(counter);
+  } else if (base is Sub61) {
+    base.ifThenElseDispatch61(counter);
+  } else if (base is Sub62) {
+    base.ifThenElseDispatch62(counter);
+  } else if (base is Sub63) {
+    base.ifThenElseDispatch63(counter);
+  } else if (base is Sub64) {
+    base.ifThenElseDispatch64(counter);
+  } else if (base is Sub65) {
+    base.ifThenElseDispatch65(counter);
+  } else if (base is Sub66) {
+    base.ifThenElseDispatch66(counter);
+  } else if (base is Sub67) {
+    base.ifThenElseDispatch67(counter);
+  } else if (base is Sub68) {
+    base.ifThenElseDispatch68(counter);
+  } else if (base is Sub69) {
+    base.ifThenElseDispatch69(counter);
+  } else if (base is Sub70) {
+    base.ifThenElseDispatch70(counter);
+  } else if (base is Sub71) {
+    base.ifThenElseDispatch71(counter);
+  } else if (base is Sub72) {
+    base.ifThenElseDispatch72(counter);
+  } else if (base is Sub73) {
+    base.ifThenElseDispatch73(counter);
+  } else if (base is Sub74) {
+    base.ifThenElseDispatch74(counter);
+  } else if (base is Sub75) {
+    base.ifThenElseDispatch75(counter);
+  } else if (base is Sub76) {
+    base.ifThenElseDispatch76(counter);
+  } else if (base is Sub77) {
+    base.ifThenElseDispatch77(counter);
+  } else if (base is Sub78) {
+    base.ifThenElseDispatch78(counter);
+  } else if (base is Sub79) {
+    base.ifThenElseDispatch79(counter);
+  } else if (base is Sub80) {
+    base.ifThenElseDispatch80(counter);
+  } else if (base is Sub81) {
+    base.ifThenElseDispatch81(counter);
+  } else if (base is Sub82) {
+    base.ifThenElseDispatch82(counter);
+  } else if (base is Sub83) {
+    base.ifThenElseDispatch83(counter);
+  } else if (base is Sub84) {
+    base.ifThenElseDispatch84(counter);
+  } else if (base is Sub85) {
+    base.ifThenElseDispatch85(counter);
+  } else if (base is Sub86) {
+    base.ifThenElseDispatch86(counter);
+  } else if (base is Sub87) {
+    base.ifThenElseDispatch87(counter);
+  } else if (base is Sub88) {
+    base.ifThenElseDispatch88(counter);
+  } else if (base is Sub89) {
+    base.ifThenElseDispatch89(counter);
+  } else if (base is Sub90) {
+    base.ifThenElseDispatch90(counter);
+  } else if (base is Sub91) {
+    base.ifThenElseDispatch91(counter);
+  } else if (base is Sub92) {
+    base.ifThenElseDispatch92(counter);
+  } else if (base is Sub93) {
+    base.ifThenElseDispatch93(counter);
+  } else if (base is Sub94) {
+    base.ifThenElseDispatch94(counter);
+  } else if (base is Sub95) {
+    base.ifThenElseDispatch95(counter);
+  } else if (base is Sub96) {
+    base.ifThenElseDispatch96(counter);
+  } else if (base is Sub97) {
+    base.ifThenElseDispatch97(counter);
+  } else if (base is Sub98) {
+    base.ifThenElseDispatch98(counter);
+  } else if (base is Sub99) {
+    base.ifThenElseDispatch99(counter);
+  } else if (base is Sub100) {
+    base.ifThenElseDispatch100(counter);
+  } else if (base is Sub101) {
+    base.ifThenElseDispatch101(counter);
+  } else if (base is Sub102) {
+    base.ifThenElseDispatch102(counter);
+  } else if (base is Sub103) {
+    base.ifThenElseDispatch103(counter);
+  } else if (base is Sub104) {
+    base.ifThenElseDispatch104(counter);
+  } else if (base is Sub105) {
+    base.ifThenElseDispatch105(counter);
+  } else if (base is Sub106) {
+    base.ifThenElseDispatch106(counter);
+  } else if (base is Sub107) {
+    base.ifThenElseDispatch107(counter);
+  } else if (base is Sub108) {
+    base.ifThenElseDispatch108(counter);
+  } else if (base is Sub109) {
+    base.ifThenElseDispatch109(counter);
+  } else if (base is Sub110) {
+    base.ifThenElseDispatch110(counter);
+  } else if (base is Sub111) {
+    base.ifThenElseDispatch111(counter);
+  } else if (base is Sub112) {
+    base.ifThenElseDispatch112(counter);
+  } else if (base is Sub113) {
+    base.ifThenElseDispatch113(counter);
+  } else if (base is Sub114) {
+    base.ifThenElseDispatch114(counter);
+  } else if (base is Sub115) {
+    base.ifThenElseDispatch115(counter);
+  } else if (base is Sub116) {
+    base.ifThenElseDispatch116(counter);
+  } else if (base is Sub117) {
+    base.ifThenElseDispatch117(counter);
+  } else if (base is Sub118) {
+    base.ifThenElseDispatch118(counter);
+  } else if (base is Sub119) {
+    base.ifThenElseDispatch119(counter);
+  } else if (base is Sub120) {
+    base.ifThenElseDispatch120(counter);
+  } else if (base is Sub121) {
+    base.ifThenElseDispatch121(counter);
+  } else if (base is Sub122) {
+    base.ifThenElseDispatch122(counter);
+  } else if (base is Sub123) {
+    base.ifThenElseDispatch123(counter);
+  } else if (base is Sub124) {
+    base.ifThenElseDispatch124(counter);
+  } else if (base is Sub125) {
+    base.ifThenElseDispatch125(counter);
+  } else if (base is Sub126) {
+    base.ifThenElseDispatch126(counter);
+  } else if (base is Sub127) {
+    base.ifThenElseDispatch127(counter);
+  } else if (base is Sub128) {
+    base.ifThenElseDispatch128(counter);
+  } else if (base is Sub129) {
+    base.ifThenElseDispatch129(counter);
+  } else if (base is Sub130) {
+    base.ifThenElseDispatch130(counter);
+  } else if (base is Sub131) {
+    base.ifThenElseDispatch131(counter);
+  } else if (base is Sub132) {
+    base.ifThenElseDispatch132(counter);
+  } else if (base is Sub133) {
+    base.ifThenElseDispatch133(counter);
+  } else if (base is Sub134) {
+    base.ifThenElseDispatch134(counter);
+  } else if (base is Sub135) {
+    base.ifThenElseDispatch135(counter);
+  } else if (base is Sub136) {
+    base.ifThenElseDispatch136(counter);
+  } else if (base is Sub137) {
+    base.ifThenElseDispatch137(counter);
+  } else if (base is Sub138) {
+    base.ifThenElseDispatch138(counter);
+  } else if (base is Sub139) {
+    base.ifThenElseDispatch139(counter);
+  } else if (base is Sub140) {
+    base.ifThenElseDispatch140(counter);
+  } else if (base is Sub141) {
+    base.ifThenElseDispatch141(counter);
+  } else if (base is Sub142) {
+    base.ifThenElseDispatch142(counter);
+  } else if (base is Sub143) {
+    base.ifThenElseDispatch143(counter);
+  } else if (base is Sub144) {
+    base.ifThenElseDispatch144(counter);
+  } else if (base is Sub145) {
+    base.ifThenElseDispatch145(counter);
+  } else if (base is Sub146) {
+    base.ifThenElseDispatch146(counter);
+  } else if (base is Sub147) {
+    base.ifThenElseDispatch147(counter);
+  } else if (base is Sub148) {
+    base.ifThenElseDispatch148(counter);
+  } else if (base is Sub149) {
+    base.ifThenElseDispatch149(counter);
+  } else if (base is Sub150) {
+    base.ifThenElseDispatch150(counter);
+  } else if (base is Sub151) {
+    base.ifThenElseDispatch151(counter);
+  } else if (base is Sub152) {
+    base.ifThenElseDispatch152(counter);
+  } else if (base is Sub153) {
+    base.ifThenElseDispatch153(counter);
+  } else if (base is Sub154) {
+    base.ifThenElseDispatch154(counter);
+  } else if (base is Sub155) {
+    base.ifThenElseDispatch155(counter);
+  } else if (base is Sub156) {
+    base.ifThenElseDispatch156(counter);
+  } else if (base is Sub157) {
+    base.ifThenElseDispatch157(counter);
+  } else if (base is Sub158) {
+    base.ifThenElseDispatch158(counter);
+  } else if (base is Sub159) {
+    base.ifThenElseDispatch159(counter);
+  } else if (base is Sub160) {
+    base.ifThenElseDispatch160(counter);
+  } else if (base is Sub161) {
+    base.ifThenElseDispatch161(counter);
+  } else if (base is Sub162) {
+    base.ifThenElseDispatch162(counter);
+  } else if (base is Sub163) {
+    base.ifThenElseDispatch163(counter);
+  } else if (base is Sub164) {
+    base.ifThenElseDispatch164(counter);
+  } else if (base is Sub165) {
+    base.ifThenElseDispatch165(counter);
+  } else if (base is Sub166) {
+    base.ifThenElseDispatch166(counter);
+  } else if (base is Sub167) {
+    base.ifThenElseDispatch167(counter);
+  } else if (base is Sub168) {
+    base.ifThenElseDispatch168(counter);
+  } else if (base is Sub169) {
+    base.ifThenElseDispatch169(counter);
+  } else if (base is Sub170) {
+    base.ifThenElseDispatch170(counter);
+  } else if (base is Sub171) {
+    base.ifThenElseDispatch171(counter);
+  } else if (base is Sub172) {
+    base.ifThenElseDispatch172(counter);
+  } else if (base is Sub173) {
+    base.ifThenElseDispatch173(counter);
+  } else if (base is Sub174) {
+    base.ifThenElseDispatch174(counter);
+  } else if (base is Sub175) {
+    base.ifThenElseDispatch175(counter);
+  } else if (base is Sub176) {
+    base.ifThenElseDispatch176(counter);
+  } else if (base is Sub177) {
+    base.ifThenElseDispatch177(counter);
+  } else if (base is Sub178) {
+    base.ifThenElseDispatch178(counter);
+  } else if (base is Sub179) {
+    base.ifThenElseDispatch179(counter);
+  } else if (base is Sub180) {
+    base.ifThenElseDispatch180(counter);
+  } else if (base is Sub181) {
+    base.ifThenElseDispatch181(counter);
+  } else if (base is Sub182) {
+    base.ifThenElseDispatch182(counter);
+  } else if (base is Sub183) {
+    base.ifThenElseDispatch183(counter);
+  } else if (base is Sub184) {
+    base.ifThenElseDispatch184(counter);
+  } else if (base is Sub185) {
+    base.ifThenElseDispatch185(counter);
+  } else if (base is Sub186) {
+    base.ifThenElseDispatch186(counter);
+  } else if (base is Sub187) {
+    base.ifThenElseDispatch187(counter);
+  } else if (base is Sub188) {
+    base.ifThenElseDispatch188(counter);
+  } else if (base is Sub189) {
+    base.ifThenElseDispatch189(counter);
+  } else if (base is Sub190) {
+    base.ifThenElseDispatch190(counter);
+  } else if (base is Sub191) {
+    base.ifThenElseDispatch191(counter);
+  }
+}
+
+const Visitor192<void, Counter> visitor = CounterVisitor192();
+
+void incByVisitorDispatch192(Base192 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor192<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+  R visitSub24(Sub24 sub, A arg);
+  R visitSub25(Sub25 sub, A arg);
+  R visitSub26(Sub26 sub, A arg);
+  R visitSub27(Sub27 sub, A arg);
+  R visitSub28(Sub28 sub, A arg);
+  R visitSub29(Sub29 sub, A arg);
+  R visitSub30(Sub30 sub, A arg);
+  R visitSub31(Sub31 sub, A arg);
+  R visitSub32(Sub32 sub, A arg);
+  R visitSub33(Sub33 sub, A arg);
+  R visitSub34(Sub34 sub, A arg);
+  R visitSub35(Sub35 sub, A arg);
+  R visitSub36(Sub36 sub, A arg);
+  R visitSub37(Sub37 sub, A arg);
+  R visitSub38(Sub38 sub, A arg);
+  R visitSub39(Sub39 sub, A arg);
+  R visitSub40(Sub40 sub, A arg);
+  R visitSub41(Sub41 sub, A arg);
+  R visitSub42(Sub42 sub, A arg);
+  R visitSub43(Sub43 sub, A arg);
+  R visitSub44(Sub44 sub, A arg);
+  R visitSub45(Sub45 sub, A arg);
+  R visitSub46(Sub46 sub, A arg);
+  R visitSub47(Sub47 sub, A arg);
+  R visitSub48(Sub48 sub, A arg);
+  R visitSub49(Sub49 sub, A arg);
+  R visitSub50(Sub50 sub, A arg);
+  R visitSub51(Sub51 sub, A arg);
+  R visitSub52(Sub52 sub, A arg);
+  R visitSub53(Sub53 sub, A arg);
+  R visitSub54(Sub54 sub, A arg);
+  R visitSub55(Sub55 sub, A arg);
+  R visitSub56(Sub56 sub, A arg);
+  R visitSub57(Sub57 sub, A arg);
+  R visitSub58(Sub58 sub, A arg);
+  R visitSub59(Sub59 sub, A arg);
+  R visitSub60(Sub60 sub, A arg);
+  R visitSub61(Sub61 sub, A arg);
+  R visitSub62(Sub62 sub, A arg);
+  R visitSub63(Sub63 sub, A arg);
+  R visitSub64(Sub64 sub, A arg);
+  R visitSub65(Sub65 sub, A arg);
+  R visitSub66(Sub66 sub, A arg);
+  R visitSub67(Sub67 sub, A arg);
+  R visitSub68(Sub68 sub, A arg);
+  R visitSub69(Sub69 sub, A arg);
+  R visitSub70(Sub70 sub, A arg);
+  R visitSub71(Sub71 sub, A arg);
+  R visitSub72(Sub72 sub, A arg);
+  R visitSub73(Sub73 sub, A arg);
+  R visitSub74(Sub74 sub, A arg);
+  R visitSub75(Sub75 sub, A arg);
+  R visitSub76(Sub76 sub, A arg);
+  R visitSub77(Sub77 sub, A arg);
+  R visitSub78(Sub78 sub, A arg);
+  R visitSub79(Sub79 sub, A arg);
+  R visitSub80(Sub80 sub, A arg);
+  R visitSub81(Sub81 sub, A arg);
+  R visitSub82(Sub82 sub, A arg);
+  R visitSub83(Sub83 sub, A arg);
+  R visitSub84(Sub84 sub, A arg);
+  R visitSub85(Sub85 sub, A arg);
+  R visitSub86(Sub86 sub, A arg);
+  R visitSub87(Sub87 sub, A arg);
+  R visitSub88(Sub88 sub, A arg);
+  R visitSub89(Sub89 sub, A arg);
+  R visitSub90(Sub90 sub, A arg);
+  R visitSub91(Sub91 sub, A arg);
+  R visitSub92(Sub92 sub, A arg);
+  R visitSub93(Sub93 sub, A arg);
+  R visitSub94(Sub94 sub, A arg);
+  R visitSub95(Sub95 sub, A arg);
+  R visitSub96(Sub96 sub, A arg);
+  R visitSub97(Sub97 sub, A arg);
+  R visitSub98(Sub98 sub, A arg);
+  R visitSub99(Sub99 sub, A arg);
+  R visitSub100(Sub100 sub, A arg);
+  R visitSub101(Sub101 sub, A arg);
+  R visitSub102(Sub102 sub, A arg);
+  R visitSub103(Sub103 sub, A arg);
+  R visitSub104(Sub104 sub, A arg);
+  R visitSub105(Sub105 sub, A arg);
+  R visitSub106(Sub106 sub, A arg);
+  R visitSub107(Sub107 sub, A arg);
+  R visitSub108(Sub108 sub, A arg);
+  R visitSub109(Sub109 sub, A arg);
+  R visitSub110(Sub110 sub, A arg);
+  R visitSub111(Sub111 sub, A arg);
+  R visitSub112(Sub112 sub, A arg);
+  R visitSub113(Sub113 sub, A arg);
+  R visitSub114(Sub114 sub, A arg);
+  R visitSub115(Sub115 sub, A arg);
+  R visitSub116(Sub116 sub, A arg);
+  R visitSub117(Sub117 sub, A arg);
+  R visitSub118(Sub118 sub, A arg);
+  R visitSub119(Sub119 sub, A arg);
+  R visitSub120(Sub120 sub, A arg);
+  R visitSub121(Sub121 sub, A arg);
+  R visitSub122(Sub122 sub, A arg);
+  R visitSub123(Sub123 sub, A arg);
+  R visitSub124(Sub124 sub, A arg);
+  R visitSub125(Sub125 sub, A arg);
+  R visitSub126(Sub126 sub, A arg);
+  R visitSub127(Sub127 sub, A arg);
+  R visitSub128(Sub128 sub, A arg);
+  R visitSub129(Sub129 sub, A arg);
+  R visitSub130(Sub130 sub, A arg);
+  R visitSub131(Sub131 sub, A arg);
+  R visitSub132(Sub132 sub, A arg);
+  R visitSub133(Sub133 sub, A arg);
+  R visitSub134(Sub134 sub, A arg);
+  R visitSub135(Sub135 sub, A arg);
+  R visitSub136(Sub136 sub, A arg);
+  R visitSub137(Sub137 sub, A arg);
+  R visitSub138(Sub138 sub, A arg);
+  R visitSub139(Sub139 sub, A arg);
+  R visitSub140(Sub140 sub, A arg);
+  R visitSub141(Sub141 sub, A arg);
+  R visitSub142(Sub142 sub, A arg);
+  R visitSub143(Sub143 sub, A arg);
+  R visitSub144(Sub144 sub, A arg);
+  R visitSub145(Sub145 sub, A arg);
+  R visitSub146(Sub146 sub, A arg);
+  R visitSub147(Sub147 sub, A arg);
+  R visitSub148(Sub148 sub, A arg);
+  R visitSub149(Sub149 sub, A arg);
+  R visitSub150(Sub150 sub, A arg);
+  R visitSub151(Sub151 sub, A arg);
+  R visitSub152(Sub152 sub, A arg);
+  R visitSub153(Sub153 sub, A arg);
+  R visitSub154(Sub154 sub, A arg);
+  R visitSub155(Sub155 sub, A arg);
+  R visitSub156(Sub156 sub, A arg);
+  R visitSub157(Sub157 sub, A arg);
+  R visitSub158(Sub158 sub, A arg);
+  R visitSub159(Sub159 sub, A arg);
+  R visitSub160(Sub160 sub, A arg);
+  R visitSub161(Sub161 sub, A arg);
+  R visitSub162(Sub162 sub, A arg);
+  R visitSub163(Sub163 sub, A arg);
+  R visitSub164(Sub164 sub, A arg);
+  R visitSub165(Sub165 sub, A arg);
+  R visitSub166(Sub166 sub, A arg);
+  R visitSub167(Sub167 sub, A arg);
+  R visitSub168(Sub168 sub, A arg);
+  R visitSub169(Sub169 sub, A arg);
+  R visitSub170(Sub170 sub, A arg);
+  R visitSub171(Sub171 sub, A arg);
+  R visitSub172(Sub172 sub, A arg);
+  R visitSub173(Sub173 sub, A arg);
+  R visitSub174(Sub174 sub, A arg);
+  R visitSub175(Sub175 sub, A arg);
+  R visitSub176(Sub176 sub, A arg);
+  R visitSub177(Sub177 sub, A arg);
+  R visitSub178(Sub178 sub, A arg);
+  R visitSub179(Sub179 sub, A arg);
+  R visitSub180(Sub180 sub, A arg);
+  R visitSub181(Sub181 sub, A arg);
+  R visitSub182(Sub182 sub, A arg);
+  R visitSub183(Sub183 sub, A arg);
+  R visitSub184(Sub184 sub, A arg);
+  R visitSub185(Sub185 sub, A arg);
+  R visitSub186(Sub186 sub, A arg);
+  R visitSub187(Sub187 sub, A arg);
+  R visitSub188(Sub188 sub, A arg);
+  R visitSub189(Sub189 sub, A arg);
+  R visitSub190(Sub190 sub, A arg);
+  R visitSub191(Sub191 sub, A arg);
+}
+
+class CounterVisitor192 implements Visitor192<void, Counter> {
+  const CounterVisitor192();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+
+  @override
+  void visitSub24(Sub24 sub, Counter counter) {
+    sub.visitorDispatch24(counter);
+  }
+
+  @override
+  void visitSub25(Sub25 sub, Counter counter) {
+    sub.visitorDispatch25(counter);
+  }
+
+  @override
+  void visitSub26(Sub26 sub, Counter counter) {
+    sub.visitorDispatch26(counter);
+  }
+
+  @override
+  void visitSub27(Sub27 sub, Counter counter) {
+    sub.visitorDispatch27(counter);
+  }
+
+  @override
+  void visitSub28(Sub28 sub, Counter counter) {
+    sub.visitorDispatch28(counter);
+  }
+
+  @override
+  void visitSub29(Sub29 sub, Counter counter) {
+    sub.visitorDispatch29(counter);
+  }
+
+  @override
+  void visitSub30(Sub30 sub, Counter counter) {
+    sub.visitorDispatch30(counter);
+  }
+
+  @override
+  void visitSub31(Sub31 sub, Counter counter) {
+    sub.visitorDispatch31(counter);
+  }
+
+  @override
+  void visitSub32(Sub32 sub, Counter counter) {
+    sub.visitorDispatch32(counter);
+  }
+
+  @override
+  void visitSub33(Sub33 sub, Counter counter) {
+    sub.visitorDispatch33(counter);
+  }
+
+  @override
+  void visitSub34(Sub34 sub, Counter counter) {
+    sub.visitorDispatch34(counter);
+  }
+
+  @override
+  void visitSub35(Sub35 sub, Counter counter) {
+    sub.visitorDispatch35(counter);
+  }
+
+  @override
+  void visitSub36(Sub36 sub, Counter counter) {
+    sub.visitorDispatch36(counter);
+  }
+
+  @override
+  void visitSub37(Sub37 sub, Counter counter) {
+    sub.visitorDispatch37(counter);
+  }
+
+  @override
+  void visitSub38(Sub38 sub, Counter counter) {
+    sub.visitorDispatch38(counter);
+  }
+
+  @override
+  void visitSub39(Sub39 sub, Counter counter) {
+    sub.visitorDispatch39(counter);
+  }
+
+  @override
+  void visitSub40(Sub40 sub, Counter counter) {
+    sub.visitorDispatch40(counter);
+  }
+
+  @override
+  void visitSub41(Sub41 sub, Counter counter) {
+    sub.visitorDispatch41(counter);
+  }
+
+  @override
+  void visitSub42(Sub42 sub, Counter counter) {
+    sub.visitorDispatch42(counter);
+  }
+
+  @override
+  void visitSub43(Sub43 sub, Counter counter) {
+    sub.visitorDispatch43(counter);
+  }
+
+  @override
+  void visitSub44(Sub44 sub, Counter counter) {
+    sub.visitorDispatch44(counter);
+  }
+
+  @override
+  void visitSub45(Sub45 sub, Counter counter) {
+    sub.visitorDispatch45(counter);
+  }
+
+  @override
+  void visitSub46(Sub46 sub, Counter counter) {
+    sub.visitorDispatch46(counter);
+  }
+
+  @override
+  void visitSub47(Sub47 sub, Counter counter) {
+    sub.visitorDispatch47(counter);
+  }
+
+  @override
+  void visitSub48(Sub48 sub, Counter counter) {
+    sub.visitorDispatch48(counter);
+  }
+
+  @override
+  void visitSub49(Sub49 sub, Counter counter) {
+    sub.visitorDispatch49(counter);
+  }
+
+  @override
+  void visitSub50(Sub50 sub, Counter counter) {
+    sub.visitorDispatch50(counter);
+  }
+
+  @override
+  void visitSub51(Sub51 sub, Counter counter) {
+    sub.visitorDispatch51(counter);
+  }
+
+  @override
+  void visitSub52(Sub52 sub, Counter counter) {
+    sub.visitorDispatch52(counter);
+  }
+
+  @override
+  void visitSub53(Sub53 sub, Counter counter) {
+    sub.visitorDispatch53(counter);
+  }
+
+  @override
+  void visitSub54(Sub54 sub, Counter counter) {
+    sub.visitorDispatch54(counter);
+  }
+
+  @override
+  void visitSub55(Sub55 sub, Counter counter) {
+    sub.visitorDispatch55(counter);
+  }
+
+  @override
+  void visitSub56(Sub56 sub, Counter counter) {
+    sub.visitorDispatch56(counter);
+  }
+
+  @override
+  void visitSub57(Sub57 sub, Counter counter) {
+    sub.visitorDispatch57(counter);
+  }
+
+  @override
+  void visitSub58(Sub58 sub, Counter counter) {
+    sub.visitorDispatch58(counter);
+  }
+
+  @override
+  void visitSub59(Sub59 sub, Counter counter) {
+    sub.visitorDispatch59(counter);
+  }
+
+  @override
+  void visitSub60(Sub60 sub, Counter counter) {
+    sub.visitorDispatch60(counter);
+  }
+
+  @override
+  void visitSub61(Sub61 sub, Counter counter) {
+    sub.visitorDispatch61(counter);
+  }
+
+  @override
+  void visitSub62(Sub62 sub, Counter counter) {
+    sub.visitorDispatch62(counter);
+  }
+
+  @override
+  void visitSub63(Sub63 sub, Counter counter) {
+    sub.visitorDispatch63(counter);
+  }
+
+  @override
+  void visitSub64(Sub64 sub, Counter counter) {
+    sub.visitorDispatch64(counter);
+  }
+
+  @override
+  void visitSub65(Sub65 sub, Counter counter) {
+    sub.visitorDispatch65(counter);
+  }
+
+  @override
+  void visitSub66(Sub66 sub, Counter counter) {
+    sub.visitorDispatch66(counter);
+  }
+
+  @override
+  void visitSub67(Sub67 sub, Counter counter) {
+    sub.visitorDispatch67(counter);
+  }
+
+  @override
+  void visitSub68(Sub68 sub, Counter counter) {
+    sub.visitorDispatch68(counter);
+  }
+
+  @override
+  void visitSub69(Sub69 sub, Counter counter) {
+    sub.visitorDispatch69(counter);
+  }
+
+  @override
+  void visitSub70(Sub70 sub, Counter counter) {
+    sub.visitorDispatch70(counter);
+  }
+
+  @override
+  void visitSub71(Sub71 sub, Counter counter) {
+    sub.visitorDispatch71(counter);
+  }
+
+  @override
+  void visitSub72(Sub72 sub, Counter counter) {
+    sub.visitorDispatch72(counter);
+  }
+
+  @override
+  void visitSub73(Sub73 sub, Counter counter) {
+    sub.visitorDispatch73(counter);
+  }
+
+  @override
+  void visitSub74(Sub74 sub, Counter counter) {
+    sub.visitorDispatch74(counter);
+  }
+
+  @override
+  void visitSub75(Sub75 sub, Counter counter) {
+    sub.visitorDispatch75(counter);
+  }
+
+  @override
+  void visitSub76(Sub76 sub, Counter counter) {
+    sub.visitorDispatch76(counter);
+  }
+
+  @override
+  void visitSub77(Sub77 sub, Counter counter) {
+    sub.visitorDispatch77(counter);
+  }
+
+  @override
+  void visitSub78(Sub78 sub, Counter counter) {
+    sub.visitorDispatch78(counter);
+  }
+
+  @override
+  void visitSub79(Sub79 sub, Counter counter) {
+    sub.visitorDispatch79(counter);
+  }
+
+  @override
+  void visitSub80(Sub80 sub, Counter counter) {
+    sub.visitorDispatch80(counter);
+  }
+
+  @override
+  void visitSub81(Sub81 sub, Counter counter) {
+    sub.visitorDispatch81(counter);
+  }
+
+  @override
+  void visitSub82(Sub82 sub, Counter counter) {
+    sub.visitorDispatch82(counter);
+  }
+
+  @override
+  void visitSub83(Sub83 sub, Counter counter) {
+    sub.visitorDispatch83(counter);
+  }
+
+  @override
+  void visitSub84(Sub84 sub, Counter counter) {
+    sub.visitorDispatch84(counter);
+  }
+
+  @override
+  void visitSub85(Sub85 sub, Counter counter) {
+    sub.visitorDispatch85(counter);
+  }
+
+  @override
+  void visitSub86(Sub86 sub, Counter counter) {
+    sub.visitorDispatch86(counter);
+  }
+
+  @override
+  void visitSub87(Sub87 sub, Counter counter) {
+    sub.visitorDispatch87(counter);
+  }
+
+  @override
+  void visitSub88(Sub88 sub, Counter counter) {
+    sub.visitorDispatch88(counter);
+  }
+
+  @override
+  void visitSub89(Sub89 sub, Counter counter) {
+    sub.visitorDispatch89(counter);
+  }
+
+  @override
+  void visitSub90(Sub90 sub, Counter counter) {
+    sub.visitorDispatch90(counter);
+  }
+
+  @override
+  void visitSub91(Sub91 sub, Counter counter) {
+    sub.visitorDispatch91(counter);
+  }
+
+  @override
+  void visitSub92(Sub92 sub, Counter counter) {
+    sub.visitorDispatch92(counter);
+  }
+
+  @override
+  void visitSub93(Sub93 sub, Counter counter) {
+    sub.visitorDispatch93(counter);
+  }
+
+  @override
+  void visitSub94(Sub94 sub, Counter counter) {
+    sub.visitorDispatch94(counter);
+  }
+
+  @override
+  void visitSub95(Sub95 sub, Counter counter) {
+    sub.visitorDispatch95(counter);
+  }
+
+  @override
+  void visitSub96(Sub96 sub, Counter counter) {
+    sub.visitorDispatch96(counter);
+  }
+
+  @override
+  void visitSub97(Sub97 sub, Counter counter) {
+    sub.visitorDispatch97(counter);
+  }
+
+  @override
+  void visitSub98(Sub98 sub, Counter counter) {
+    sub.visitorDispatch98(counter);
+  }
+
+  @override
+  void visitSub99(Sub99 sub, Counter counter) {
+    sub.visitorDispatch99(counter);
+  }
+
+  @override
+  void visitSub100(Sub100 sub, Counter counter) {
+    sub.visitorDispatch100(counter);
+  }
+
+  @override
+  void visitSub101(Sub101 sub, Counter counter) {
+    sub.visitorDispatch101(counter);
+  }
+
+  @override
+  void visitSub102(Sub102 sub, Counter counter) {
+    sub.visitorDispatch102(counter);
+  }
+
+  @override
+  void visitSub103(Sub103 sub, Counter counter) {
+    sub.visitorDispatch103(counter);
+  }
+
+  @override
+  void visitSub104(Sub104 sub, Counter counter) {
+    sub.visitorDispatch104(counter);
+  }
+
+  @override
+  void visitSub105(Sub105 sub, Counter counter) {
+    sub.visitorDispatch105(counter);
+  }
+
+  @override
+  void visitSub106(Sub106 sub, Counter counter) {
+    sub.visitorDispatch106(counter);
+  }
+
+  @override
+  void visitSub107(Sub107 sub, Counter counter) {
+    sub.visitorDispatch107(counter);
+  }
+
+  @override
+  void visitSub108(Sub108 sub, Counter counter) {
+    sub.visitorDispatch108(counter);
+  }
+
+  @override
+  void visitSub109(Sub109 sub, Counter counter) {
+    sub.visitorDispatch109(counter);
+  }
+
+  @override
+  void visitSub110(Sub110 sub, Counter counter) {
+    sub.visitorDispatch110(counter);
+  }
+
+  @override
+  void visitSub111(Sub111 sub, Counter counter) {
+    sub.visitorDispatch111(counter);
+  }
+
+  @override
+  void visitSub112(Sub112 sub, Counter counter) {
+    sub.visitorDispatch112(counter);
+  }
+
+  @override
+  void visitSub113(Sub113 sub, Counter counter) {
+    sub.visitorDispatch113(counter);
+  }
+
+  @override
+  void visitSub114(Sub114 sub, Counter counter) {
+    sub.visitorDispatch114(counter);
+  }
+
+  @override
+  void visitSub115(Sub115 sub, Counter counter) {
+    sub.visitorDispatch115(counter);
+  }
+
+  @override
+  void visitSub116(Sub116 sub, Counter counter) {
+    sub.visitorDispatch116(counter);
+  }
+
+  @override
+  void visitSub117(Sub117 sub, Counter counter) {
+    sub.visitorDispatch117(counter);
+  }
+
+  @override
+  void visitSub118(Sub118 sub, Counter counter) {
+    sub.visitorDispatch118(counter);
+  }
+
+  @override
+  void visitSub119(Sub119 sub, Counter counter) {
+    sub.visitorDispatch119(counter);
+  }
+
+  @override
+  void visitSub120(Sub120 sub, Counter counter) {
+    sub.visitorDispatch120(counter);
+  }
+
+  @override
+  void visitSub121(Sub121 sub, Counter counter) {
+    sub.visitorDispatch121(counter);
+  }
+
+  @override
+  void visitSub122(Sub122 sub, Counter counter) {
+    sub.visitorDispatch122(counter);
+  }
+
+  @override
+  void visitSub123(Sub123 sub, Counter counter) {
+    sub.visitorDispatch123(counter);
+  }
+
+  @override
+  void visitSub124(Sub124 sub, Counter counter) {
+    sub.visitorDispatch124(counter);
+  }
+
+  @override
+  void visitSub125(Sub125 sub, Counter counter) {
+    sub.visitorDispatch125(counter);
+  }
+
+  @override
+  void visitSub126(Sub126 sub, Counter counter) {
+    sub.visitorDispatch126(counter);
+  }
+
+  @override
+  void visitSub127(Sub127 sub, Counter counter) {
+    sub.visitorDispatch127(counter);
+  }
+
+  @override
+  void visitSub128(Sub128 sub, Counter counter) {
+    sub.visitorDispatch128(counter);
+  }
+
+  @override
+  void visitSub129(Sub129 sub, Counter counter) {
+    sub.visitorDispatch129(counter);
+  }
+
+  @override
+  void visitSub130(Sub130 sub, Counter counter) {
+    sub.visitorDispatch130(counter);
+  }
+
+  @override
+  void visitSub131(Sub131 sub, Counter counter) {
+    sub.visitorDispatch131(counter);
+  }
+
+  @override
+  void visitSub132(Sub132 sub, Counter counter) {
+    sub.visitorDispatch132(counter);
+  }
+
+  @override
+  void visitSub133(Sub133 sub, Counter counter) {
+    sub.visitorDispatch133(counter);
+  }
+
+  @override
+  void visitSub134(Sub134 sub, Counter counter) {
+    sub.visitorDispatch134(counter);
+  }
+
+  @override
+  void visitSub135(Sub135 sub, Counter counter) {
+    sub.visitorDispatch135(counter);
+  }
+
+  @override
+  void visitSub136(Sub136 sub, Counter counter) {
+    sub.visitorDispatch136(counter);
+  }
+
+  @override
+  void visitSub137(Sub137 sub, Counter counter) {
+    sub.visitorDispatch137(counter);
+  }
+
+  @override
+  void visitSub138(Sub138 sub, Counter counter) {
+    sub.visitorDispatch138(counter);
+  }
+
+  @override
+  void visitSub139(Sub139 sub, Counter counter) {
+    sub.visitorDispatch139(counter);
+  }
+
+  @override
+  void visitSub140(Sub140 sub, Counter counter) {
+    sub.visitorDispatch140(counter);
+  }
+
+  @override
+  void visitSub141(Sub141 sub, Counter counter) {
+    sub.visitorDispatch141(counter);
+  }
+
+  @override
+  void visitSub142(Sub142 sub, Counter counter) {
+    sub.visitorDispatch142(counter);
+  }
+
+  @override
+  void visitSub143(Sub143 sub, Counter counter) {
+    sub.visitorDispatch143(counter);
+  }
+
+  @override
+  void visitSub144(Sub144 sub, Counter counter) {
+    sub.visitorDispatch144(counter);
+  }
+
+  @override
+  void visitSub145(Sub145 sub, Counter counter) {
+    sub.visitorDispatch145(counter);
+  }
+
+  @override
+  void visitSub146(Sub146 sub, Counter counter) {
+    sub.visitorDispatch146(counter);
+  }
+
+  @override
+  void visitSub147(Sub147 sub, Counter counter) {
+    sub.visitorDispatch147(counter);
+  }
+
+  @override
+  void visitSub148(Sub148 sub, Counter counter) {
+    sub.visitorDispatch148(counter);
+  }
+
+  @override
+  void visitSub149(Sub149 sub, Counter counter) {
+    sub.visitorDispatch149(counter);
+  }
+
+  @override
+  void visitSub150(Sub150 sub, Counter counter) {
+    sub.visitorDispatch150(counter);
+  }
+
+  @override
+  void visitSub151(Sub151 sub, Counter counter) {
+    sub.visitorDispatch151(counter);
+  }
+
+  @override
+  void visitSub152(Sub152 sub, Counter counter) {
+    sub.visitorDispatch152(counter);
+  }
+
+  @override
+  void visitSub153(Sub153 sub, Counter counter) {
+    sub.visitorDispatch153(counter);
+  }
+
+  @override
+  void visitSub154(Sub154 sub, Counter counter) {
+    sub.visitorDispatch154(counter);
+  }
+
+  @override
+  void visitSub155(Sub155 sub, Counter counter) {
+    sub.visitorDispatch155(counter);
+  }
+
+  @override
+  void visitSub156(Sub156 sub, Counter counter) {
+    sub.visitorDispatch156(counter);
+  }
+
+  @override
+  void visitSub157(Sub157 sub, Counter counter) {
+    sub.visitorDispatch157(counter);
+  }
+
+  @override
+  void visitSub158(Sub158 sub, Counter counter) {
+    sub.visitorDispatch158(counter);
+  }
+
+  @override
+  void visitSub159(Sub159 sub, Counter counter) {
+    sub.visitorDispatch159(counter);
+  }
+
+  @override
+  void visitSub160(Sub160 sub, Counter counter) {
+    sub.visitorDispatch160(counter);
+  }
+
+  @override
+  void visitSub161(Sub161 sub, Counter counter) {
+    sub.visitorDispatch161(counter);
+  }
+
+  @override
+  void visitSub162(Sub162 sub, Counter counter) {
+    sub.visitorDispatch162(counter);
+  }
+
+  @override
+  void visitSub163(Sub163 sub, Counter counter) {
+    sub.visitorDispatch163(counter);
+  }
+
+  @override
+  void visitSub164(Sub164 sub, Counter counter) {
+    sub.visitorDispatch164(counter);
+  }
+
+  @override
+  void visitSub165(Sub165 sub, Counter counter) {
+    sub.visitorDispatch165(counter);
+  }
+
+  @override
+  void visitSub166(Sub166 sub, Counter counter) {
+    sub.visitorDispatch166(counter);
+  }
+
+  @override
+  void visitSub167(Sub167 sub, Counter counter) {
+    sub.visitorDispatch167(counter);
+  }
+
+  @override
+  void visitSub168(Sub168 sub, Counter counter) {
+    sub.visitorDispatch168(counter);
+  }
+
+  @override
+  void visitSub169(Sub169 sub, Counter counter) {
+    sub.visitorDispatch169(counter);
+  }
+
+  @override
+  void visitSub170(Sub170 sub, Counter counter) {
+    sub.visitorDispatch170(counter);
+  }
+
+  @override
+  void visitSub171(Sub171 sub, Counter counter) {
+    sub.visitorDispatch171(counter);
+  }
+
+  @override
+  void visitSub172(Sub172 sub, Counter counter) {
+    sub.visitorDispatch172(counter);
+  }
+
+  @override
+  void visitSub173(Sub173 sub, Counter counter) {
+    sub.visitorDispatch173(counter);
+  }
+
+  @override
+  void visitSub174(Sub174 sub, Counter counter) {
+    sub.visitorDispatch174(counter);
+  }
+
+  @override
+  void visitSub175(Sub175 sub, Counter counter) {
+    sub.visitorDispatch175(counter);
+  }
+
+  @override
+  void visitSub176(Sub176 sub, Counter counter) {
+    sub.visitorDispatch176(counter);
+  }
+
+  @override
+  void visitSub177(Sub177 sub, Counter counter) {
+    sub.visitorDispatch177(counter);
+  }
+
+  @override
+  void visitSub178(Sub178 sub, Counter counter) {
+    sub.visitorDispatch178(counter);
+  }
+
+  @override
+  void visitSub179(Sub179 sub, Counter counter) {
+    sub.visitorDispatch179(counter);
+  }
+
+  @override
+  void visitSub180(Sub180 sub, Counter counter) {
+    sub.visitorDispatch180(counter);
+  }
+
+  @override
+  void visitSub181(Sub181 sub, Counter counter) {
+    sub.visitorDispatch181(counter);
+  }
+
+  @override
+  void visitSub182(Sub182 sub, Counter counter) {
+    sub.visitorDispatch182(counter);
+  }
+
+  @override
+  void visitSub183(Sub183 sub, Counter counter) {
+    sub.visitorDispatch183(counter);
+  }
+
+  @override
+  void visitSub184(Sub184 sub, Counter counter) {
+    sub.visitorDispatch184(counter);
+  }
+
+  @override
+  void visitSub185(Sub185 sub, Counter counter) {
+    sub.visitorDispatch185(counter);
+  }
+
+  @override
+  void visitSub186(Sub186 sub, Counter counter) {
+    sub.visitorDispatch186(counter);
+  }
+
+  @override
+  void visitSub187(Sub187 sub, Counter counter) {
+    sub.visitorDispatch187(counter);
+  }
+
+  @override
+  void visitSub188(Sub188 sub, Counter counter) {
+    sub.visitorDispatch188(counter);
+  }
+
+  @override
+  void visitSub189(Sub189 sub, Counter counter) {
+    sub.visitorDispatch189(counter);
+  }
+
+  @override
+  void visitSub190(Sub190 sub, Counter counter) {
+    sub.visitorDispatch190(counter);
+  }
+
+  @override
+  void visitSub191(Sub191 sub, Counter counter) {
+    sub.visitorDispatch191(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype2.dart b/pkg/front_end/benchmarks/patterns/generated/datatype2.dart
new file mode 100644
index 0000000..7ccaec3
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype2.dart
@@ -0,0 +1,99 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base2 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor2<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base2 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor2<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base2 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor2<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+List<Base2> createData2() {
+  return [
+    Sub0(),
+    Sub1(),
+  ];
+}
+
+void incByDynamicDispatch2(Base2 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch2(Base2 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  }
+}
+
+const Visitor2<void, Counter> visitor = CounterVisitor2();
+
+void incByVisitorDispatch2(Base2 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor2<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+}
+
+class CounterVisitor2 implements Visitor2<void, Counter> {
+  const CounterVisitor2();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype24.dart b/pkg/front_end/benchmarks/patterns/generated/datatype24.dart
new file mode 100644
index 0000000..a17a6b7
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype24.dart
@@ -0,0 +1,737 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base24 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor24<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base24 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor24<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+List<Base24> createData24() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+  ];
+}
+
+void incByDynamicDispatch24(Base24 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch24(Base24 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  }
+}
+
+const Visitor24<void, Counter> visitor = CounterVisitor24();
+
+void incByVisitorDispatch24(Base24 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor24<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+}
+
+class CounterVisitor24 implements Visitor24<void, Counter> {
+  const CounterVisitor24();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype256.dart b/pkg/front_end/benchmarks/patterns/generated/datatype256.dart
new file mode 100644
index 0000000..cfdee4a
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype256.dart
@@ -0,0 +1,7465 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base256 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor256<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+class Sub24 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub24(this, arg);
+  }
+}
+
+class Sub25 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub25(this, arg);
+  }
+}
+
+class Sub26 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub26(this, arg);
+  }
+}
+
+class Sub27 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub27(this, arg);
+  }
+}
+
+class Sub28 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub28(this, arg);
+  }
+}
+
+class Sub29 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub29(this, arg);
+  }
+}
+
+class Sub30 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub30(this, arg);
+  }
+}
+
+class Sub31 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub31(this, arg);
+  }
+}
+
+class Sub32 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub32(this, arg);
+  }
+}
+
+class Sub33 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub33(this, arg);
+  }
+}
+
+class Sub34 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub34(this, arg);
+  }
+}
+
+class Sub35 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub35(this, arg);
+  }
+}
+
+class Sub36 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub36(this, arg);
+  }
+}
+
+class Sub37 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub37(this, arg);
+  }
+}
+
+class Sub38 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub38(this, arg);
+  }
+}
+
+class Sub39 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub39(this, arg);
+  }
+}
+
+class Sub40 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub40(this, arg);
+  }
+}
+
+class Sub41 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub41(this, arg);
+  }
+}
+
+class Sub42 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub42(this, arg);
+  }
+}
+
+class Sub43 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub43(this, arg);
+  }
+}
+
+class Sub44 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub44(this, arg);
+  }
+}
+
+class Sub45 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub45(this, arg);
+  }
+}
+
+class Sub46 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub46(this, arg);
+  }
+}
+
+class Sub47 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub47(this, arg);
+  }
+}
+
+class Sub48 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub48(this, arg);
+  }
+}
+
+class Sub49 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub49(this, arg);
+  }
+}
+
+class Sub50 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub50(this, arg);
+  }
+}
+
+class Sub51 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub51(this, arg);
+  }
+}
+
+class Sub52 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub52(this, arg);
+  }
+}
+
+class Sub53 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub53(this, arg);
+  }
+}
+
+class Sub54 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub54(this, arg);
+  }
+}
+
+class Sub55 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub55(this, arg);
+  }
+}
+
+class Sub56 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub56(this, arg);
+  }
+}
+
+class Sub57 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub57(this, arg);
+  }
+}
+
+class Sub58 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub58(this, arg);
+  }
+}
+
+class Sub59 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub59(this, arg);
+  }
+}
+
+class Sub60 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub60(this, arg);
+  }
+}
+
+class Sub61 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub61(this, arg);
+  }
+}
+
+class Sub62 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub62(this, arg);
+  }
+}
+
+class Sub63 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub63(this, arg);
+  }
+}
+
+class Sub64 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub64(this, arg);
+  }
+}
+
+class Sub65 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub65(this, arg);
+  }
+}
+
+class Sub66 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub66(this, arg);
+  }
+}
+
+class Sub67 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub67(this, arg);
+  }
+}
+
+class Sub68 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub68(this, arg);
+  }
+}
+
+class Sub69 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub69(this, arg);
+  }
+}
+
+class Sub70 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub70(this, arg);
+  }
+}
+
+class Sub71 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub71(this, arg);
+  }
+}
+
+class Sub72 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub72(this, arg);
+  }
+}
+
+class Sub73 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub73(this, arg);
+  }
+}
+
+class Sub74 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub74(this, arg);
+  }
+}
+
+class Sub75 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub75(this, arg);
+  }
+}
+
+class Sub76 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub76(this, arg);
+  }
+}
+
+class Sub77 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub77(this, arg);
+  }
+}
+
+class Sub78 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub78(this, arg);
+  }
+}
+
+class Sub79 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub79(this, arg);
+  }
+}
+
+class Sub80 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub80(this, arg);
+  }
+}
+
+class Sub81 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub81(this, arg);
+  }
+}
+
+class Sub82 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub82(this, arg);
+  }
+}
+
+class Sub83 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub83(this, arg);
+  }
+}
+
+class Sub84 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub84(this, arg);
+  }
+}
+
+class Sub85 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub85(this, arg);
+  }
+}
+
+class Sub86 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub86(this, arg);
+  }
+}
+
+class Sub87 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub87(this, arg);
+  }
+}
+
+class Sub88 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub88(this, arg);
+  }
+}
+
+class Sub89 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub89(this, arg);
+  }
+}
+
+class Sub90 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub90(this, arg);
+  }
+}
+
+class Sub91 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub91(this, arg);
+  }
+}
+
+class Sub92 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub92(this, arg);
+  }
+}
+
+class Sub93 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub93(this, arg);
+  }
+}
+
+class Sub94 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub94(this, arg);
+  }
+}
+
+class Sub95 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub95(this, arg);
+  }
+}
+
+class Sub96 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch96(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch96(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub96(this, arg);
+  }
+}
+
+class Sub97 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch97(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch97(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub97(this, arg);
+  }
+}
+
+class Sub98 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch98(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch98(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub98(this, arg);
+  }
+}
+
+class Sub99 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch99(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch99(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub99(this, arg);
+  }
+}
+
+class Sub100 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch100(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch100(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub100(this, arg);
+  }
+}
+
+class Sub101 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch101(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch101(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub101(this, arg);
+  }
+}
+
+class Sub102 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch102(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch102(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub102(this, arg);
+  }
+}
+
+class Sub103 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch103(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch103(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub103(this, arg);
+  }
+}
+
+class Sub104 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch104(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch104(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub104(this, arg);
+  }
+}
+
+class Sub105 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch105(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch105(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub105(this, arg);
+  }
+}
+
+class Sub106 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch106(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch106(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub106(this, arg);
+  }
+}
+
+class Sub107 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch107(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch107(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub107(this, arg);
+  }
+}
+
+class Sub108 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch108(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch108(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub108(this, arg);
+  }
+}
+
+class Sub109 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch109(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch109(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub109(this, arg);
+  }
+}
+
+class Sub110 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch110(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch110(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub110(this, arg);
+  }
+}
+
+class Sub111 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch111(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch111(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub111(this, arg);
+  }
+}
+
+class Sub112 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch112(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch112(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub112(this, arg);
+  }
+}
+
+class Sub113 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch113(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch113(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub113(this, arg);
+  }
+}
+
+class Sub114 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch114(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch114(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub114(this, arg);
+  }
+}
+
+class Sub115 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch115(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch115(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub115(this, arg);
+  }
+}
+
+class Sub116 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch116(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch116(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub116(this, arg);
+  }
+}
+
+class Sub117 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch117(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch117(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub117(this, arg);
+  }
+}
+
+class Sub118 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch118(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch118(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub118(this, arg);
+  }
+}
+
+class Sub119 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch119(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch119(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub119(this, arg);
+  }
+}
+
+class Sub120 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch120(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch120(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub120(this, arg);
+  }
+}
+
+class Sub121 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch121(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch121(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub121(this, arg);
+  }
+}
+
+class Sub122 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch122(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch122(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub122(this, arg);
+  }
+}
+
+class Sub123 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch123(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch123(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub123(this, arg);
+  }
+}
+
+class Sub124 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch124(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch124(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub124(this, arg);
+  }
+}
+
+class Sub125 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch125(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch125(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub125(this, arg);
+  }
+}
+
+class Sub126 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch126(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch126(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub126(this, arg);
+  }
+}
+
+class Sub127 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch127(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch127(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub127(this, arg);
+  }
+}
+
+class Sub128 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch128(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch128(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub128(this, arg);
+  }
+}
+
+class Sub129 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch129(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch129(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub129(this, arg);
+  }
+}
+
+class Sub130 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch130(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch130(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub130(this, arg);
+  }
+}
+
+class Sub131 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch131(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch131(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub131(this, arg);
+  }
+}
+
+class Sub132 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch132(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch132(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub132(this, arg);
+  }
+}
+
+class Sub133 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch133(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch133(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub133(this, arg);
+  }
+}
+
+class Sub134 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch134(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch134(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub134(this, arg);
+  }
+}
+
+class Sub135 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch135(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch135(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub135(this, arg);
+  }
+}
+
+class Sub136 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch136(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch136(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub136(this, arg);
+  }
+}
+
+class Sub137 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch137(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch137(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub137(this, arg);
+  }
+}
+
+class Sub138 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch138(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch138(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub138(this, arg);
+  }
+}
+
+class Sub139 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch139(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch139(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub139(this, arg);
+  }
+}
+
+class Sub140 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch140(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch140(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub140(this, arg);
+  }
+}
+
+class Sub141 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch141(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch141(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub141(this, arg);
+  }
+}
+
+class Sub142 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch142(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch142(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub142(this, arg);
+  }
+}
+
+class Sub143 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch143(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch143(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub143(this, arg);
+  }
+}
+
+class Sub144 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch144(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch144(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub144(this, arg);
+  }
+}
+
+class Sub145 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch145(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch145(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub145(this, arg);
+  }
+}
+
+class Sub146 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch146(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch146(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub146(this, arg);
+  }
+}
+
+class Sub147 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch147(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch147(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub147(this, arg);
+  }
+}
+
+class Sub148 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch148(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch148(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub148(this, arg);
+  }
+}
+
+class Sub149 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch149(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch149(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub149(this, arg);
+  }
+}
+
+class Sub150 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch150(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch150(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub150(this, arg);
+  }
+}
+
+class Sub151 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch151(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch151(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub151(this, arg);
+  }
+}
+
+class Sub152 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch152(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch152(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub152(this, arg);
+  }
+}
+
+class Sub153 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch153(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch153(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub153(this, arg);
+  }
+}
+
+class Sub154 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch154(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch154(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub154(this, arg);
+  }
+}
+
+class Sub155 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch155(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch155(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub155(this, arg);
+  }
+}
+
+class Sub156 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch156(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch156(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub156(this, arg);
+  }
+}
+
+class Sub157 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch157(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch157(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub157(this, arg);
+  }
+}
+
+class Sub158 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch158(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch158(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub158(this, arg);
+  }
+}
+
+class Sub159 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch159(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch159(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub159(this, arg);
+  }
+}
+
+class Sub160 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch160(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch160(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub160(this, arg);
+  }
+}
+
+class Sub161 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch161(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch161(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub161(this, arg);
+  }
+}
+
+class Sub162 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch162(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch162(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub162(this, arg);
+  }
+}
+
+class Sub163 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch163(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch163(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub163(this, arg);
+  }
+}
+
+class Sub164 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch164(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch164(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub164(this, arg);
+  }
+}
+
+class Sub165 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch165(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch165(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub165(this, arg);
+  }
+}
+
+class Sub166 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch166(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch166(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub166(this, arg);
+  }
+}
+
+class Sub167 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch167(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch167(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub167(this, arg);
+  }
+}
+
+class Sub168 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch168(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch168(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub168(this, arg);
+  }
+}
+
+class Sub169 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch169(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch169(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub169(this, arg);
+  }
+}
+
+class Sub170 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch170(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch170(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub170(this, arg);
+  }
+}
+
+class Sub171 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch171(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch171(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub171(this, arg);
+  }
+}
+
+class Sub172 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch172(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch172(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub172(this, arg);
+  }
+}
+
+class Sub173 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch173(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch173(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub173(this, arg);
+  }
+}
+
+class Sub174 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch174(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch174(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub174(this, arg);
+  }
+}
+
+class Sub175 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch175(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch175(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub175(this, arg);
+  }
+}
+
+class Sub176 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch176(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch176(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub176(this, arg);
+  }
+}
+
+class Sub177 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch177(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch177(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub177(this, arg);
+  }
+}
+
+class Sub178 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch178(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch178(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub178(this, arg);
+  }
+}
+
+class Sub179 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch179(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch179(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub179(this, arg);
+  }
+}
+
+class Sub180 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch180(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch180(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub180(this, arg);
+  }
+}
+
+class Sub181 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch181(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch181(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub181(this, arg);
+  }
+}
+
+class Sub182 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch182(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch182(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub182(this, arg);
+  }
+}
+
+class Sub183 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch183(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch183(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub183(this, arg);
+  }
+}
+
+class Sub184 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch184(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch184(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub184(this, arg);
+  }
+}
+
+class Sub185 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch185(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch185(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub185(this, arg);
+  }
+}
+
+class Sub186 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch186(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch186(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub186(this, arg);
+  }
+}
+
+class Sub187 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch187(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch187(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub187(this, arg);
+  }
+}
+
+class Sub188 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch188(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch188(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub188(this, arg);
+  }
+}
+
+class Sub189 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch189(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch189(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub189(this, arg);
+  }
+}
+
+class Sub190 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch190(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch190(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub190(this, arg);
+  }
+}
+
+class Sub191 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch191(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch191(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub191(this, arg);
+  }
+}
+
+class Sub192 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch192(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch192(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub192(this, arg);
+  }
+}
+
+class Sub193 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch193(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch193(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub193(this, arg);
+  }
+}
+
+class Sub194 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch194(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch194(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub194(this, arg);
+  }
+}
+
+class Sub195 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch195(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch195(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub195(this, arg);
+  }
+}
+
+class Sub196 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch196(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch196(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub196(this, arg);
+  }
+}
+
+class Sub197 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch197(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch197(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub197(this, arg);
+  }
+}
+
+class Sub198 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch198(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch198(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub198(this, arg);
+  }
+}
+
+class Sub199 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch199(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch199(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub199(this, arg);
+  }
+}
+
+class Sub200 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch200(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch200(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub200(this, arg);
+  }
+}
+
+class Sub201 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch201(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch201(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub201(this, arg);
+  }
+}
+
+class Sub202 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch202(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch202(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub202(this, arg);
+  }
+}
+
+class Sub203 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch203(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch203(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub203(this, arg);
+  }
+}
+
+class Sub204 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch204(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch204(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub204(this, arg);
+  }
+}
+
+class Sub205 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch205(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch205(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub205(this, arg);
+  }
+}
+
+class Sub206 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch206(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch206(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub206(this, arg);
+  }
+}
+
+class Sub207 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch207(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch207(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub207(this, arg);
+  }
+}
+
+class Sub208 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch208(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch208(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub208(this, arg);
+  }
+}
+
+class Sub209 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch209(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch209(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub209(this, arg);
+  }
+}
+
+class Sub210 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch210(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch210(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub210(this, arg);
+  }
+}
+
+class Sub211 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch211(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch211(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub211(this, arg);
+  }
+}
+
+class Sub212 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch212(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch212(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub212(this, arg);
+  }
+}
+
+class Sub213 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch213(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch213(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub213(this, arg);
+  }
+}
+
+class Sub214 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch214(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch214(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub214(this, arg);
+  }
+}
+
+class Sub215 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch215(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch215(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub215(this, arg);
+  }
+}
+
+class Sub216 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch216(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch216(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub216(this, arg);
+  }
+}
+
+class Sub217 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch217(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch217(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub217(this, arg);
+  }
+}
+
+class Sub218 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch218(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch218(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub218(this, arg);
+  }
+}
+
+class Sub219 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch219(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch219(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub219(this, arg);
+  }
+}
+
+class Sub220 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch220(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch220(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub220(this, arg);
+  }
+}
+
+class Sub221 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch221(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch221(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub221(this, arg);
+  }
+}
+
+class Sub222 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch222(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch222(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub222(this, arg);
+  }
+}
+
+class Sub223 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch223(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch223(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub223(this, arg);
+  }
+}
+
+class Sub224 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch224(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch224(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub224(this, arg);
+  }
+}
+
+class Sub225 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch225(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch225(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub225(this, arg);
+  }
+}
+
+class Sub226 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch226(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch226(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub226(this, arg);
+  }
+}
+
+class Sub227 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch227(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch227(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub227(this, arg);
+  }
+}
+
+class Sub228 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch228(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch228(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub228(this, arg);
+  }
+}
+
+class Sub229 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch229(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch229(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub229(this, arg);
+  }
+}
+
+class Sub230 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch230(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch230(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub230(this, arg);
+  }
+}
+
+class Sub231 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch231(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch231(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub231(this, arg);
+  }
+}
+
+class Sub232 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch232(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch232(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub232(this, arg);
+  }
+}
+
+class Sub233 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch233(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch233(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub233(this, arg);
+  }
+}
+
+class Sub234 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch234(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch234(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub234(this, arg);
+  }
+}
+
+class Sub235 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch235(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch235(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub235(this, arg);
+  }
+}
+
+class Sub236 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch236(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch236(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub236(this, arg);
+  }
+}
+
+class Sub237 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch237(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch237(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub237(this, arg);
+  }
+}
+
+class Sub238 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch238(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch238(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub238(this, arg);
+  }
+}
+
+class Sub239 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch239(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch239(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub239(this, arg);
+  }
+}
+
+class Sub240 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch240(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch240(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub240(this, arg);
+  }
+}
+
+class Sub241 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch241(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch241(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub241(this, arg);
+  }
+}
+
+class Sub242 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch242(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch242(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub242(this, arg);
+  }
+}
+
+class Sub243 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch243(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch243(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub243(this, arg);
+  }
+}
+
+class Sub244 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch244(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch244(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub244(this, arg);
+  }
+}
+
+class Sub245 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch245(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch245(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub245(this, arg);
+  }
+}
+
+class Sub246 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch246(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch246(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub246(this, arg);
+  }
+}
+
+class Sub247 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch247(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch247(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub247(this, arg);
+  }
+}
+
+class Sub248 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch248(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch248(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub248(this, arg);
+  }
+}
+
+class Sub249 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch249(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch249(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub249(this, arg);
+  }
+}
+
+class Sub250 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch250(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch250(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub250(this, arg);
+  }
+}
+
+class Sub251 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch251(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch251(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub251(this, arg);
+  }
+}
+
+class Sub252 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch252(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch252(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub252(this, arg);
+  }
+}
+
+class Sub253 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch253(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch253(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub253(this, arg);
+  }
+}
+
+class Sub254 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch254(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch254(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub254(this, arg);
+  }
+}
+
+class Sub255 extends Base256 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch255(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch255(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor256<R, A> visitor, A arg) {
+    return visitor.visitSub255(this, arg);
+  }
+}
+
+List<Base256> createData256() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+    Sub24(),
+    Sub25(),
+    Sub26(),
+    Sub27(),
+    Sub28(),
+    Sub29(),
+    Sub30(),
+    Sub31(),
+    Sub32(),
+    Sub33(),
+    Sub34(),
+    Sub35(),
+    Sub36(),
+    Sub37(),
+    Sub38(),
+    Sub39(),
+    Sub40(),
+    Sub41(),
+    Sub42(),
+    Sub43(),
+    Sub44(),
+    Sub45(),
+    Sub46(),
+    Sub47(),
+    Sub48(),
+    Sub49(),
+    Sub50(),
+    Sub51(),
+    Sub52(),
+    Sub53(),
+    Sub54(),
+    Sub55(),
+    Sub56(),
+    Sub57(),
+    Sub58(),
+    Sub59(),
+    Sub60(),
+    Sub61(),
+    Sub62(),
+    Sub63(),
+    Sub64(),
+    Sub65(),
+    Sub66(),
+    Sub67(),
+    Sub68(),
+    Sub69(),
+    Sub70(),
+    Sub71(),
+    Sub72(),
+    Sub73(),
+    Sub74(),
+    Sub75(),
+    Sub76(),
+    Sub77(),
+    Sub78(),
+    Sub79(),
+    Sub80(),
+    Sub81(),
+    Sub82(),
+    Sub83(),
+    Sub84(),
+    Sub85(),
+    Sub86(),
+    Sub87(),
+    Sub88(),
+    Sub89(),
+    Sub90(),
+    Sub91(),
+    Sub92(),
+    Sub93(),
+    Sub94(),
+    Sub95(),
+    Sub96(),
+    Sub97(),
+    Sub98(),
+    Sub99(),
+    Sub100(),
+    Sub101(),
+    Sub102(),
+    Sub103(),
+    Sub104(),
+    Sub105(),
+    Sub106(),
+    Sub107(),
+    Sub108(),
+    Sub109(),
+    Sub110(),
+    Sub111(),
+    Sub112(),
+    Sub113(),
+    Sub114(),
+    Sub115(),
+    Sub116(),
+    Sub117(),
+    Sub118(),
+    Sub119(),
+    Sub120(),
+    Sub121(),
+    Sub122(),
+    Sub123(),
+    Sub124(),
+    Sub125(),
+    Sub126(),
+    Sub127(),
+    Sub128(),
+    Sub129(),
+    Sub130(),
+    Sub131(),
+    Sub132(),
+    Sub133(),
+    Sub134(),
+    Sub135(),
+    Sub136(),
+    Sub137(),
+    Sub138(),
+    Sub139(),
+    Sub140(),
+    Sub141(),
+    Sub142(),
+    Sub143(),
+    Sub144(),
+    Sub145(),
+    Sub146(),
+    Sub147(),
+    Sub148(),
+    Sub149(),
+    Sub150(),
+    Sub151(),
+    Sub152(),
+    Sub153(),
+    Sub154(),
+    Sub155(),
+    Sub156(),
+    Sub157(),
+    Sub158(),
+    Sub159(),
+    Sub160(),
+    Sub161(),
+    Sub162(),
+    Sub163(),
+    Sub164(),
+    Sub165(),
+    Sub166(),
+    Sub167(),
+    Sub168(),
+    Sub169(),
+    Sub170(),
+    Sub171(),
+    Sub172(),
+    Sub173(),
+    Sub174(),
+    Sub175(),
+    Sub176(),
+    Sub177(),
+    Sub178(),
+    Sub179(),
+    Sub180(),
+    Sub181(),
+    Sub182(),
+    Sub183(),
+    Sub184(),
+    Sub185(),
+    Sub186(),
+    Sub187(),
+    Sub188(),
+    Sub189(),
+    Sub190(),
+    Sub191(),
+    Sub192(),
+    Sub193(),
+    Sub194(),
+    Sub195(),
+    Sub196(),
+    Sub197(),
+    Sub198(),
+    Sub199(),
+    Sub200(),
+    Sub201(),
+    Sub202(),
+    Sub203(),
+    Sub204(),
+    Sub205(),
+    Sub206(),
+    Sub207(),
+    Sub208(),
+    Sub209(),
+    Sub210(),
+    Sub211(),
+    Sub212(),
+    Sub213(),
+    Sub214(),
+    Sub215(),
+    Sub216(),
+    Sub217(),
+    Sub218(),
+    Sub219(),
+    Sub220(),
+    Sub221(),
+    Sub222(),
+    Sub223(),
+    Sub224(),
+    Sub225(),
+    Sub226(),
+    Sub227(),
+    Sub228(),
+    Sub229(),
+    Sub230(),
+    Sub231(),
+    Sub232(),
+    Sub233(),
+    Sub234(),
+    Sub235(),
+    Sub236(),
+    Sub237(),
+    Sub238(),
+    Sub239(),
+    Sub240(),
+    Sub241(),
+    Sub242(),
+    Sub243(),
+    Sub244(),
+    Sub245(),
+    Sub246(),
+    Sub247(),
+    Sub248(),
+    Sub249(),
+    Sub250(),
+    Sub251(),
+    Sub252(),
+    Sub253(),
+    Sub254(),
+    Sub255(),
+  ];
+}
+
+void incByDynamicDispatch256(Base256 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch256(Base256 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  } else if (base is Sub24) {
+    base.ifThenElseDispatch24(counter);
+  } else if (base is Sub25) {
+    base.ifThenElseDispatch25(counter);
+  } else if (base is Sub26) {
+    base.ifThenElseDispatch26(counter);
+  } else if (base is Sub27) {
+    base.ifThenElseDispatch27(counter);
+  } else if (base is Sub28) {
+    base.ifThenElseDispatch28(counter);
+  } else if (base is Sub29) {
+    base.ifThenElseDispatch29(counter);
+  } else if (base is Sub30) {
+    base.ifThenElseDispatch30(counter);
+  } else if (base is Sub31) {
+    base.ifThenElseDispatch31(counter);
+  } else if (base is Sub32) {
+    base.ifThenElseDispatch32(counter);
+  } else if (base is Sub33) {
+    base.ifThenElseDispatch33(counter);
+  } else if (base is Sub34) {
+    base.ifThenElseDispatch34(counter);
+  } else if (base is Sub35) {
+    base.ifThenElseDispatch35(counter);
+  } else if (base is Sub36) {
+    base.ifThenElseDispatch36(counter);
+  } else if (base is Sub37) {
+    base.ifThenElseDispatch37(counter);
+  } else if (base is Sub38) {
+    base.ifThenElseDispatch38(counter);
+  } else if (base is Sub39) {
+    base.ifThenElseDispatch39(counter);
+  } else if (base is Sub40) {
+    base.ifThenElseDispatch40(counter);
+  } else if (base is Sub41) {
+    base.ifThenElseDispatch41(counter);
+  } else if (base is Sub42) {
+    base.ifThenElseDispatch42(counter);
+  } else if (base is Sub43) {
+    base.ifThenElseDispatch43(counter);
+  } else if (base is Sub44) {
+    base.ifThenElseDispatch44(counter);
+  } else if (base is Sub45) {
+    base.ifThenElseDispatch45(counter);
+  } else if (base is Sub46) {
+    base.ifThenElseDispatch46(counter);
+  } else if (base is Sub47) {
+    base.ifThenElseDispatch47(counter);
+  } else if (base is Sub48) {
+    base.ifThenElseDispatch48(counter);
+  } else if (base is Sub49) {
+    base.ifThenElseDispatch49(counter);
+  } else if (base is Sub50) {
+    base.ifThenElseDispatch50(counter);
+  } else if (base is Sub51) {
+    base.ifThenElseDispatch51(counter);
+  } else if (base is Sub52) {
+    base.ifThenElseDispatch52(counter);
+  } else if (base is Sub53) {
+    base.ifThenElseDispatch53(counter);
+  } else if (base is Sub54) {
+    base.ifThenElseDispatch54(counter);
+  } else if (base is Sub55) {
+    base.ifThenElseDispatch55(counter);
+  } else if (base is Sub56) {
+    base.ifThenElseDispatch56(counter);
+  } else if (base is Sub57) {
+    base.ifThenElseDispatch57(counter);
+  } else if (base is Sub58) {
+    base.ifThenElseDispatch58(counter);
+  } else if (base is Sub59) {
+    base.ifThenElseDispatch59(counter);
+  } else if (base is Sub60) {
+    base.ifThenElseDispatch60(counter);
+  } else if (base is Sub61) {
+    base.ifThenElseDispatch61(counter);
+  } else if (base is Sub62) {
+    base.ifThenElseDispatch62(counter);
+  } else if (base is Sub63) {
+    base.ifThenElseDispatch63(counter);
+  } else if (base is Sub64) {
+    base.ifThenElseDispatch64(counter);
+  } else if (base is Sub65) {
+    base.ifThenElseDispatch65(counter);
+  } else if (base is Sub66) {
+    base.ifThenElseDispatch66(counter);
+  } else if (base is Sub67) {
+    base.ifThenElseDispatch67(counter);
+  } else if (base is Sub68) {
+    base.ifThenElseDispatch68(counter);
+  } else if (base is Sub69) {
+    base.ifThenElseDispatch69(counter);
+  } else if (base is Sub70) {
+    base.ifThenElseDispatch70(counter);
+  } else if (base is Sub71) {
+    base.ifThenElseDispatch71(counter);
+  } else if (base is Sub72) {
+    base.ifThenElseDispatch72(counter);
+  } else if (base is Sub73) {
+    base.ifThenElseDispatch73(counter);
+  } else if (base is Sub74) {
+    base.ifThenElseDispatch74(counter);
+  } else if (base is Sub75) {
+    base.ifThenElseDispatch75(counter);
+  } else if (base is Sub76) {
+    base.ifThenElseDispatch76(counter);
+  } else if (base is Sub77) {
+    base.ifThenElseDispatch77(counter);
+  } else if (base is Sub78) {
+    base.ifThenElseDispatch78(counter);
+  } else if (base is Sub79) {
+    base.ifThenElseDispatch79(counter);
+  } else if (base is Sub80) {
+    base.ifThenElseDispatch80(counter);
+  } else if (base is Sub81) {
+    base.ifThenElseDispatch81(counter);
+  } else if (base is Sub82) {
+    base.ifThenElseDispatch82(counter);
+  } else if (base is Sub83) {
+    base.ifThenElseDispatch83(counter);
+  } else if (base is Sub84) {
+    base.ifThenElseDispatch84(counter);
+  } else if (base is Sub85) {
+    base.ifThenElseDispatch85(counter);
+  } else if (base is Sub86) {
+    base.ifThenElseDispatch86(counter);
+  } else if (base is Sub87) {
+    base.ifThenElseDispatch87(counter);
+  } else if (base is Sub88) {
+    base.ifThenElseDispatch88(counter);
+  } else if (base is Sub89) {
+    base.ifThenElseDispatch89(counter);
+  } else if (base is Sub90) {
+    base.ifThenElseDispatch90(counter);
+  } else if (base is Sub91) {
+    base.ifThenElseDispatch91(counter);
+  } else if (base is Sub92) {
+    base.ifThenElseDispatch92(counter);
+  } else if (base is Sub93) {
+    base.ifThenElseDispatch93(counter);
+  } else if (base is Sub94) {
+    base.ifThenElseDispatch94(counter);
+  } else if (base is Sub95) {
+    base.ifThenElseDispatch95(counter);
+  } else if (base is Sub96) {
+    base.ifThenElseDispatch96(counter);
+  } else if (base is Sub97) {
+    base.ifThenElseDispatch97(counter);
+  } else if (base is Sub98) {
+    base.ifThenElseDispatch98(counter);
+  } else if (base is Sub99) {
+    base.ifThenElseDispatch99(counter);
+  } else if (base is Sub100) {
+    base.ifThenElseDispatch100(counter);
+  } else if (base is Sub101) {
+    base.ifThenElseDispatch101(counter);
+  } else if (base is Sub102) {
+    base.ifThenElseDispatch102(counter);
+  } else if (base is Sub103) {
+    base.ifThenElseDispatch103(counter);
+  } else if (base is Sub104) {
+    base.ifThenElseDispatch104(counter);
+  } else if (base is Sub105) {
+    base.ifThenElseDispatch105(counter);
+  } else if (base is Sub106) {
+    base.ifThenElseDispatch106(counter);
+  } else if (base is Sub107) {
+    base.ifThenElseDispatch107(counter);
+  } else if (base is Sub108) {
+    base.ifThenElseDispatch108(counter);
+  } else if (base is Sub109) {
+    base.ifThenElseDispatch109(counter);
+  } else if (base is Sub110) {
+    base.ifThenElseDispatch110(counter);
+  } else if (base is Sub111) {
+    base.ifThenElseDispatch111(counter);
+  } else if (base is Sub112) {
+    base.ifThenElseDispatch112(counter);
+  } else if (base is Sub113) {
+    base.ifThenElseDispatch113(counter);
+  } else if (base is Sub114) {
+    base.ifThenElseDispatch114(counter);
+  } else if (base is Sub115) {
+    base.ifThenElseDispatch115(counter);
+  } else if (base is Sub116) {
+    base.ifThenElseDispatch116(counter);
+  } else if (base is Sub117) {
+    base.ifThenElseDispatch117(counter);
+  } else if (base is Sub118) {
+    base.ifThenElseDispatch118(counter);
+  } else if (base is Sub119) {
+    base.ifThenElseDispatch119(counter);
+  } else if (base is Sub120) {
+    base.ifThenElseDispatch120(counter);
+  } else if (base is Sub121) {
+    base.ifThenElseDispatch121(counter);
+  } else if (base is Sub122) {
+    base.ifThenElseDispatch122(counter);
+  } else if (base is Sub123) {
+    base.ifThenElseDispatch123(counter);
+  } else if (base is Sub124) {
+    base.ifThenElseDispatch124(counter);
+  } else if (base is Sub125) {
+    base.ifThenElseDispatch125(counter);
+  } else if (base is Sub126) {
+    base.ifThenElseDispatch126(counter);
+  } else if (base is Sub127) {
+    base.ifThenElseDispatch127(counter);
+  } else if (base is Sub128) {
+    base.ifThenElseDispatch128(counter);
+  } else if (base is Sub129) {
+    base.ifThenElseDispatch129(counter);
+  } else if (base is Sub130) {
+    base.ifThenElseDispatch130(counter);
+  } else if (base is Sub131) {
+    base.ifThenElseDispatch131(counter);
+  } else if (base is Sub132) {
+    base.ifThenElseDispatch132(counter);
+  } else if (base is Sub133) {
+    base.ifThenElseDispatch133(counter);
+  } else if (base is Sub134) {
+    base.ifThenElseDispatch134(counter);
+  } else if (base is Sub135) {
+    base.ifThenElseDispatch135(counter);
+  } else if (base is Sub136) {
+    base.ifThenElseDispatch136(counter);
+  } else if (base is Sub137) {
+    base.ifThenElseDispatch137(counter);
+  } else if (base is Sub138) {
+    base.ifThenElseDispatch138(counter);
+  } else if (base is Sub139) {
+    base.ifThenElseDispatch139(counter);
+  } else if (base is Sub140) {
+    base.ifThenElseDispatch140(counter);
+  } else if (base is Sub141) {
+    base.ifThenElseDispatch141(counter);
+  } else if (base is Sub142) {
+    base.ifThenElseDispatch142(counter);
+  } else if (base is Sub143) {
+    base.ifThenElseDispatch143(counter);
+  } else if (base is Sub144) {
+    base.ifThenElseDispatch144(counter);
+  } else if (base is Sub145) {
+    base.ifThenElseDispatch145(counter);
+  } else if (base is Sub146) {
+    base.ifThenElseDispatch146(counter);
+  } else if (base is Sub147) {
+    base.ifThenElseDispatch147(counter);
+  } else if (base is Sub148) {
+    base.ifThenElseDispatch148(counter);
+  } else if (base is Sub149) {
+    base.ifThenElseDispatch149(counter);
+  } else if (base is Sub150) {
+    base.ifThenElseDispatch150(counter);
+  } else if (base is Sub151) {
+    base.ifThenElseDispatch151(counter);
+  } else if (base is Sub152) {
+    base.ifThenElseDispatch152(counter);
+  } else if (base is Sub153) {
+    base.ifThenElseDispatch153(counter);
+  } else if (base is Sub154) {
+    base.ifThenElseDispatch154(counter);
+  } else if (base is Sub155) {
+    base.ifThenElseDispatch155(counter);
+  } else if (base is Sub156) {
+    base.ifThenElseDispatch156(counter);
+  } else if (base is Sub157) {
+    base.ifThenElseDispatch157(counter);
+  } else if (base is Sub158) {
+    base.ifThenElseDispatch158(counter);
+  } else if (base is Sub159) {
+    base.ifThenElseDispatch159(counter);
+  } else if (base is Sub160) {
+    base.ifThenElseDispatch160(counter);
+  } else if (base is Sub161) {
+    base.ifThenElseDispatch161(counter);
+  } else if (base is Sub162) {
+    base.ifThenElseDispatch162(counter);
+  } else if (base is Sub163) {
+    base.ifThenElseDispatch163(counter);
+  } else if (base is Sub164) {
+    base.ifThenElseDispatch164(counter);
+  } else if (base is Sub165) {
+    base.ifThenElseDispatch165(counter);
+  } else if (base is Sub166) {
+    base.ifThenElseDispatch166(counter);
+  } else if (base is Sub167) {
+    base.ifThenElseDispatch167(counter);
+  } else if (base is Sub168) {
+    base.ifThenElseDispatch168(counter);
+  } else if (base is Sub169) {
+    base.ifThenElseDispatch169(counter);
+  } else if (base is Sub170) {
+    base.ifThenElseDispatch170(counter);
+  } else if (base is Sub171) {
+    base.ifThenElseDispatch171(counter);
+  } else if (base is Sub172) {
+    base.ifThenElseDispatch172(counter);
+  } else if (base is Sub173) {
+    base.ifThenElseDispatch173(counter);
+  } else if (base is Sub174) {
+    base.ifThenElseDispatch174(counter);
+  } else if (base is Sub175) {
+    base.ifThenElseDispatch175(counter);
+  } else if (base is Sub176) {
+    base.ifThenElseDispatch176(counter);
+  } else if (base is Sub177) {
+    base.ifThenElseDispatch177(counter);
+  } else if (base is Sub178) {
+    base.ifThenElseDispatch178(counter);
+  } else if (base is Sub179) {
+    base.ifThenElseDispatch179(counter);
+  } else if (base is Sub180) {
+    base.ifThenElseDispatch180(counter);
+  } else if (base is Sub181) {
+    base.ifThenElseDispatch181(counter);
+  } else if (base is Sub182) {
+    base.ifThenElseDispatch182(counter);
+  } else if (base is Sub183) {
+    base.ifThenElseDispatch183(counter);
+  } else if (base is Sub184) {
+    base.ifThenElseDispatch184(counter);
+  } else if (base is Sub185) {
+    base.ifThenElseDispatch185(counter);
+  } else if (base is Sub186) {
+    base.ifThenElseDispatch186(counter);
+  } else if (base is Sub187) {
+    base.ifThenElseDispatch187(counter);
+  } else if (base is Sub188) {
+    base.ifThenElseDispatch188(counter);
+  } else if (base is Sub189) {
+    base.ifThenElseDispatch189(counter);
+  } else if (base is Sub190) {
+    base.ifThenElseDispatch190(counter);
+  } else if (base is Sub191) {
+    base.ifThenElseDispatch191(counter);
+  } else if (base is Sub192) {
+    base.ifThenElseDispatch192(counter);
+  } else if (base is Sub193) {
+    base.ifThenElseDispatch193(counter);
+  } else if (base is Sub194) {
+    base.ifThenElseDispatch194(counter);
+  } else if (base is Sub195) {
+    base.ifThenElseDispatch195(counter);
+  } else if (base is Sub196) {
+    base.ifThenElseDispatch196(counter);
+  } else if (base is Sub197) {
+    base.ifThenElseDispatch197(counter);
+  } else if (base is Sub198) {
+    base.ifThenElseDispatch198(counter);
+  } else if (base is Sub199) {
+    base.ifThenElseDispatch199(counter);
+  } else if (base is Sub200) {
+    base.ifThenElseDispatch200(counter);
+  } else if (base is Sub201) {
+    base.ifThenElseDispatch201(counter);
+  } else if (base is Sub202) {
+    base.ifThenElseDispatch202(counter);
+  } else if (base is Sub203) {
+    base.ifThenElseDispatch203(counter);
+  } else if (base is Sub204) {
+    base.ifThenElseDispatch204(counter);
+  } else if (base is Sub205) {
+    base.ifThenElseDispatch205(counter);
+  } else if (base is Sub206) {
+    base.ifThenElseDispatch206(counter);
+  } else if (base is Sub207) {
+    base.ifThenElseDispatch207(counter);
+  } else if (base is Sub208) {
+    base.ifThenElseDispatch208(counter);
+  } else if (base is Sub209) {
+    base.ifThenElseDispatch209(counter);
+  } else if (base is Sub210) {
+    base.ifThenElseDispatch210(counter);
+  } else if (base is Sub211) {
+    base.ifThenElseDispatch211(counter);
+  } else if (base is Sub212) {
+    base.ifThenElseDispatch212(counter);
+  } else if (base is Sub213) {
+    base.ifThenElseDispatch213(counter);
+  } else if (base is Sub214) {
+    base.ifThenElseDispatch214(counter);
+  } else if (base is Sub215) {
+    base.ifThenElseDispatch215(counter);
+  } else if (base is Sub216) {
+    base.ifThenElseDispatch216(counter);
+  } else if (base is Sub217) {
+    base.ifThenElseDispatch217(counter);
+  } else if (base is Sub218) {
+    base.ifThenElseDispatch218(counter);
+  } else if (base is Sub219) {
+    base.ifThenElseDispatch219(counter);
+  } else if (base is Sub220) {
+    base.ifThenElseDispatch220(counter);
+  } else if (base is Sub221) {
+    base.ifThenElseDispatch221(counter);
+  } else if (base is Sub222) {
+    base.ifThenElseDispatch222(counter);
+  } else if (base is Sub223) {
+    base.ifThenElseDispatch223(counter);
+  } else if (base is Sub224) {
+    base.ifThenElseDispatch224(counter);
+  } else if (base is Sub225) {
+    base.ifThenElseDispatch225(counter);
+  } else if (base is Sub226) {
+    base.ifThenElseDispatch226(counter);
+  } else if (base is Sub227) {
+    base.ifThenElseDispatch227(counter);
+  } else if (base is Sub228) {
+    base.ifThenElseDispatch228(counter);
+  } else if (base is Sub229) {
+    base.ifThenElseDispatch229(counter);
+  } else if (base is Sub230) {
+    base.ifThenElseDispatch230(counter);
+  } else if (base is Sub231) {
+    base.ifThenElseDispatch231(counter);
+  } else if (base is Sub232) {
+    base.ifThenElseDispatch232(counter);
+  } else if (base is Sub233) {
+    base.ifThenElseDispatch233(counter);
+  } else if (base is Sub234) {
+    base.ifThenElseDispatch234(counter);
+  } else if (base is Sub235) {
+    base.ifThenElseDispatch235(counter);
+  } else if (base is Sub236) {
+    base.ifThenElseDispatch236(counter);
+  } else if (base is Sub237) {
+    base.ifThenElseDispatch237(counter);
+  } else if (base is Sub238) {
+    base.ifThenElseDispatch238(counter);
+  } else if (base is Sub239) {
+    base.ifThenElseDispatch239(counter);
+  } else if (base is Sub240) {
+    base.ifThenElseDispatch240(counter);
+  } else if (base is Sub241) {
+    base.ifThenElseDispatch241(counter);
+  } else if (base is Sub242) {
+    base.ifThenElseDispatch242(counter);
+  } else if (base is Sub243) {
+    base.ifThenElseDispatch243(counter);
+  } else if (base is Sub244) {
+    base.ifThenElseDispatch244(counter);
+  } else if (base is Sub245) {
+    base.ifThenElseDispatch245(counter);
+  } else if (base is Sub246) {
+    base.ifThenElseDispatch246(counter);
+  } else if (base is Sub247) {
+    base.ifThenElseDispatch247(counter);
+  } else if (base is Sub248) {
+    base.ifThenElseDispatch248(counter);
+  } else if (base is Sub249) {
+    base.ifThenElseDispatch249(counter);
+  } else if (base is Sub250) {
+    base.ifThenElseDispatch250(counter);
+  } else if (base is Sub251) {
+    base.ifThenElseDispatch251(counter);
+  } else if (base is Sub252) {
+    base.ifThenElseDispatch252(counter);
+  } else if (base is Sub253) {
+    base.ifThenElseDispatch253(counter);
+  } else if (base is Sub254) {
+    base.ifThenElseDispatch254(counter);
+  } else if (base is Sub255) {
+    base.ifThenElseDispatch255(counter);
+  }
+}
+
+const Visitor256<void, Counter> visitor = CounterVisitor256();
+
+void incByVisitorDispatch256(Base256 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor256<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+  R visitSub24(Sub24 sub, A arg);
+  R visitSub25(Sub25 sub, A arg);
+  R visitSub26(Sub26 sub, A arg);
+  R visitSub27(Sub27 sub, A arg);
+  R visitSub28(Sub28 sub, A arg);
+  R visitSub29(Sub29 sub, A arg);
+  R visitSub30(Sub30 sub, A arg);
+  R visitSub31(Sub31 sub, A arg);
+  R visitSub32(Sub32 sub, A arg);
+  R visitSub33(Sub33 sub, A arg);
+  R visitSub34(Sub34 sub, A arg);
+  R visitSub35(Sub35 sub, A arg);
+  R visitSub36(Sub36 sub, A arg);
+  R visitSub37(Sub37 sub, A arg);
+  R visitSub38(Sub38 sub, A arg);
+  R visitSub39(Sub39 sub, A arg);
+  R visitSub40(Sub40 sub, A arg);
+  R visitSub41(Sub41 sub, A arg);
+  R visitSub42(Sub42 sub, A arg);
+  R visitSub43(Sub43 sub, A arg);
+  R visitSub44(Sub44 sub, A arg);
+  R visitSub45(Sub45 sub, A arg);
+  R visitSub46(Sub46 sub, A arg);
+  R visitSub47(Sub47 sub, A arg);
+  R visitSub48(Sub48 sub, A arg);
+  R visitSub49(Sub49 sub, A arg);
+  R visitSub50(Sub50 sub, A arg);
+  R visitSub51(Sub51 sub, A arg);
+  R visitSub52(Sub52 sub, A arg);
+  R visitSub53(Sub53 sub, A arg);
+  R visitSub54(Sub54 sub, A arg);
+  R visitSub55(Sub55 sub, A arg);
+  R visitSub56(Sub56 sub, A arg);
+  R visitSub57(Sub57 sub, A arg);
+  R visitSub58(Sub58 sub, A arg);
+  R visitSub59(Sub59 sub, A arg);
+  R visitSub60(Sub60 sub, A arg);
+  R visitSub61(Sub61 sub, A arg);
+  R visitSub62(Sub62 sub, A arg);
+  R visitSub63(Sub63 sub, A arg);
+  R visitSub64(Sub64 sub, A arg);
+  R visitSub65(Sub65 sub, A arg);
+  R visitSub66(Sub66 sub, A arg);
+  R visitSub67(Sub67 sub, A arg);
+  R visitSub68(Sub68 sub, A arg);
+  R visitSub69(Sub69 sub, A arg);
+  R visitSub70(Sub70 sub, A arg);
+  R visitSub71(Sub71 sub, A arg);
+  R visitSub72(Sub72 sub, A arg);
+  R visitSub73(Sub73 sub, A arg);
+  R visitSub74(Sub74 sub, A arg);
+  R visitSub75(Sub75 sub, A arg);
+  R visitSub76(Sub76 sub, A arg);
+  R visitSub77(Sub77 sub, A arg);
+  R visitSub78(Sub78 sub, A arg);
+  R visitSub79(Sub79 sub, A arg);
+  R visitSub80(Sub80 sub, A arg);
+  R visitSub81(Sub81 sub, A arg);
+  R visitSub82(Sub82 sub, A arg);
+  R visitSub83(Sub83 sub, A arg);
+  R visitSub84(Sub84 sub, A arg);
+  R visitSub85(Sub85 sub, A arg);
+  R visitSub86(Sub86 sub, A arg);
+  R visitSub87(Sub87 sub, A arg);
+  R visitSub88(Sub88 sub, A arg);
+  R visitSub89(Sub89 sub, A arg);
+  R visitSub90(Sub90 sub, A arg);
+  R visitSub91(Sub91 sub, A arg);
+  R visitSub92(Sub92 sub, A arg);
+  R visitSub93(Sub93 sub, A arg);
+  R visitSub94(Sub94 sub, A arg);
+  R visitSub95(Sub95 sub, A arg);
+  R visitSub96(Sub96 sub, A arg);
+  R visitSub97(Sub97 sub, A arg);
+  R visitSub98(Sub98 sub, A arg);
+  R visitSub99(Sub99 sub, A arg);
+  R visitSub100(Sub100 sub, A arg);
+  R visitSub101(Sub101 sub, A arg);
+  R visitSub102(Sub102 sub, A arg);
+  R visitSub103(Sub103 sub, A arg);
+  R visitSub104(Sub104 sub, A arg);
+  R visitSub105(Sub105 sub, A arg);
+  R visitSub106(Sub106 sub, A arg);
+  R visitSub107(Sub107 sub, A arg);
+  R visitSub108(Sub108 sub, A arg);
+  R visitSub109(Sub109 sub, A arg);
+  R visitSub110(Sub110 sub, A arg);
+  R visitSub111(Sub111 sub, A arg);
+  R visitSub112(Sub112 sub, A arg);
+  R visitSub113(Sub113 sub, A arg);
+  R visitSub114(Sub114 sub, A arg);
+  R visitSub115(Sub115 sub, A arg);
+  R visitSub116(Sub116 sub, A arg);
+  R visitSub117(Sub117 sub, A arg);
+  R visitSub118(Sub118 sub, A arg);
+  R visitSub119(Sub119 sub, A arg);
+  R visitSub120(Sub120 sub, A arg);
+  R visitSub121(Sub121 sub, A arg);
+  R visitSub122(Sub122 sub, A arg);
+  R visitSub123(Sub123 sub, A arg);
+  R visitSub124(Sub124 sub, A arg);
+  R visitSub125(Sub125 sub, A arg);
+  R visitSub126(Sub126 sub, A arg);
+  R visitSub127(Sub127 sub, A arg);
+  R visitSub128(Sub128 sub, A arg);
+  R visitSub129(Sub129 sub, A arg);
+  R visitSub130(Sub130 sub, A arg);
+  R visitSub131(Sub131 sub, A arg);
+  R visitSub132(Sub132 sub, A arg);
+  R visitSub133(Sub133 sub, A arg);
+  R visitSub134(Sub134 sub, A arg);
+  R visitSub135(Sub135 sub, A arg);
+  R visitSub136(Sub136 sub, A arg);
+  R visitSub137(Sub137 sub, A arg);
+  R visitSub138(Sub138 sub, A arg);
+  R visitSub139(Sub139 sub, A arg);
+  R visitSub140(Sub140 sub, A arg);
+  R visitSub141(Sub141 sub, A arg);
+  R visitSub142(Sub142 sub, A arg);
+  R visitSub143(Sub143 sub, A arg);
+  R visitSub144(Sub144 sub, A arg);
+  R visitSub145(Sub145 sub, A arg);
+  R visitSub146(Sub146 sub, A arg);
+  R visitSub147(Sub147 sub, A arg);
+  R visitSub148(Sub148 sub, A arg);
+  R visitSub149(Sub149 sub, A arg);
+  R visitSub150(Sub150 sub, A arg);
+  R visitSub151(Sub151 sub, A arg);
+  R visitSub152(Sub152 sub, A arg);
+  R visitSub153(Sub153 sub, A arg);
+  R visitSub154(Sub154 sub, A arg);
+  R visitSub155(Sub155 sub, A arg);
+  R visitSub156(Sub156 sub, A arg);
+  R visitSub157(Sub157 sub, A arg);
+  R visitSub158(Sub158 sub, A arg);
+  R visitSub159(Sub159 sub, A arg);
+  R visitSub160(Sub160 sub, A arg);
+  R visitSub161(Sub161 sub, A arg);
+  R visitSub162(Sub162 sub, A arg);
+  R visitSub163(Sub163 sub, A arg);
+  R visitSub164(Sub164 sub, A arg);
+  R visitSub165(Sub165 sub, A arg);
+  R visitSub166(Sub166 sub, A arg);
+  R visitSub167(Sub167 sub, A arg);
+  R visitSub168(Sub168 sub, A arg);
+  R visitSub169(Sub169 sub, A arg);
+  R visitSub170(Sub170 sub, A arg);
+  R visitSub171(Sub171 sub, A arg);
+  R visitSub172(Sub172 sub, A arg);
+  R visitSub173(Sub173 sub, A arg);
+  R visitSub174(Sub174 sub, A arg);
+  R visitSub175(Sub175 sub, A arg);
+  R visitSub176(Sub176 sub, A arg);
+  R visitSub177(Sub177 sub, A arg);
+  R visitSub178(Sub178 sub, A arg);
+  R visitSub179(Sub179 sub, A arg);
+  R visitSub180(Sub180 sub, A arg);
+  R visitSub181(Sub181 sub, A arg);
+  R visitSub182(Sub182 sub, A arg);
+  R visitSub183(Sub183 sub, A arg);
+  R visitSub184(Sub184 sub, A arg);
+  R visitSub185(Sub185 sub, A arg);
+  R visitSub186(Sub186 sub, A arg);
+  R visitSub187(Sub187 sub, A arg);
+  R visitSub188(Sub188 sub, A arg);
+  R visitSub189(Sub189 sub, A arg);
+  R visitSub190(Sub190 sub, A arg);
+  R visitSub191(Sub191 sub, A arg);
+  R visitSub192(Sub192 sub, A arg);
+  R visitSub193(Sub193 sub, A arg);
+  R visitSub194(Sub194 sub, A arg);
+  R visitSub195(Sub195 sub, A arg);
+  R visitSub196(Sub196 sub, A arg);
+  R visitSub197(Sub197 sub, A arg);
+  R visitSub198(Sub198 sub, A arg);
+  R visitSub199(Sub199 sub, A arg);
+  R visitSub200(Sub200 sub, A arg);
+  R visitSub201(Sub201 sub, A arg);
+  R visitSub202(Sub202 sub, A arg);
+  R visitSub203(Sub203 sub, A arg);
+  R visitSub204(Sub204 sub, A arg);
+  R visitSub205(Sub205 sub, A arg);
+  R visitSub206(Sub206 sub, A arg);
+  R visitSub207(Sub207 sub, A arg);
+  R visitSub208(Sub208 sub, A arg);
+  R visitSub209(Sub209 sub, A arg);
+  R visitSub210(Sub210 sub, A arg);
+  R visitSub211(Sub211 sub, A arg);
+  R visitSub212(Sub212 sub, A arg);
+  R visitSub213(Sub213 sub, A arg);
+  R visitSub214(Sub214 sub, A arg);
+  R visitSub215(Sub215 sub, A arg);
+  R visitSub216(Sub216 sub, A arg);
+  R visitSub217(Sub217 sub, A arg);
+  R visitSub218(Sub218 sub, A arg);
+  R visitSub219(Sub219 sub, A arg);
+  R visitSub220(Sub220 sub, A arg);
+  R visitSub221(Sub221 sub, A arg);
+  R visitSub222(Sub222 sub, A arg);
+  R visitSub223(Sub223 sub, A arg);
+  R visitSub224(Sub224 sub, A arg);
+  R visitSub225(Sub225 sub, A arg);
+  R visitSub226(Sub226 sub, A arg);
+  R visitSub227(Sub227 sub, A arg);
+  R visitSub228(Sub228 sub, A arg);
+  R visitSub229(Sub229 sub, A arg);
+  R visitSub230(Sub230 sub, A arg);
+  R visitSub231(Sub231 sub, A arg);
+  R visitSub232(Sub232 sub, A arg);
+  R visitSub233(Sub233 sub, A arg);
+  R visitSub234(Sub234 sub, A arg);
+  R visitSub235(Sub235 sub, A arg);
+  R visitSub236(Sub236 sub, A arg);
+  R visitSub237(Sub237 sub, A arg);
+  R visitSub238(Sub238 sub, A arg);
+  R visitSub239(Sub239 sub, A arg);
+  R visitSub240(Sub240 sub, A arg);
+  R visitSub241(Sub241 sub, A arg);
+  R visitSub242(Sub242 sub, A arg);
+  R visitSub243(Sub243 sub, A arg);
+  R visitSub244(Sub244 sub, A arg);
+  R visitSub245(Sub245 sub, A arg);
+  R visitSub246(Sub246 sub, A arg);
+  R visitSub247(Sub247 sub, A arg);
+  R visitSub248(Sub248 sub, A arg);
+  R visitSub249(Sub249 sub, A arg);
+  R visitSub250(Sub250 sub, A arg);
+  R visitSub251(Sub251 sub, A arg);
+  R visitSub252(Sub252 sub, A arg);
+  R visitSub253(Sub253 sub, A arg);
+  R visitSub254(Sub254 sub, A arg);
+  R visitSub255(Sub255 sub, A arg);
+}
+
+class CounterVisitor256 implements Visitor256<void, Counter> {
+  const CounterVisitor256();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+
+  @override
+  void visitSub24(Sub24 sub, Counter counter) {
+    sub.visitorDispatch24(counter);
+  }
+
+  @override
+  void visitSub25(Sub25 sub, Counter counter) {
+    sub.visitorDispatch25(counter);
+  }
+
+  @override
+  void visitSub26(Sub26 sub, Counter counter) {
+    sub.visitorDispatch26(counter);
+  }
+
+  @override
+  void visitSub27(Sub27 sub, Counter counter) {
+    sub.visitorDispatch27(counter);
+  }
+
+  @override
+  void visitSub28(Sub28 sub, Counter counter) {
+    sub.visitorDispatch28(counter);
+  }
+
+  @override
+  void visitSub29(Sub29 sub, Counter counter) {
+    sub.visitorDispatch29(counter);
+  }
+
+  @override
+  void visitSub30(Sub30 sub, Counter counter) {
+    sub.visitorDispatch30(counter);
+  }
+
+  @override
+  void visitSub31(Sub31 sub, Counter counter) {
+    sub.visitorDispatch31(counter);
+  }
+
+  @override
+  void visitSub32(Sub32 sub, Counter counter) {
+    sub.visitorDispatch32(counter);
+  }
+
+  @override
+  void visitSub33(Sub33 sub, Counter counter) {
+    sub.visitorDispatch33(counter);
+  }
+
+  @override
+  void visitSub34(Sub34 sub, Counter counter) {
+    sub.visitorDispatch34(counter);
+  }
+
+  @override
+  void visitSub35(Sub35 sub, Counter counter) {
+    sub.visitorDispatch35(counter);
+  }
+
+  @override
+  void visitSub36(Sub36 sub, Counter counter) {
+    sub.visitorDispatch36(counter);
+  }
+
+  @override
+  void visitSub37(Sub37 sub, Counter counter) {
+    sub.visitorDispatch37(counter);
+  }
+
+  @override
+  void visitSub38(Sub38 sub, Counter counter) {
+    sub.visitorDispatch38(counter);
+  }
+
+  @override
+  void visitSub39(Sub39 sub, Counter counter) {
+    sub.visitorDispatch39(counter);
+  }
+
+  @override
+  void visitSub40(Sub40 sub, Counter counter) {
+    sub.visitorDispatch40(counter);
+  }
+
+  @override
+  void visitSub41(Sub41 sub, Counter counter) {
+    sub.visitorDispatch41(counter);
+  }
+
+  @override
+  void visitSub42(Sub42 sub, Counter counter) {
+    sub.visitorDispatch42(counter);
+  }
+
+  @override
+  void visitSub43(Sub43 sub, Counter counter) {
+    sub.visitorDispatch43(counter);
+  }
+
+  @override
+  void visitSub44(Sub44 sub, Counter counter) {
+    sub.visitorDispatch44(counter);
+  }
+
+  @override
+  void visitSub45(Sub45 sub, Counter counter) {
+    sub.visitorDispatch45(counter);
+  }
+
+  @override
+  void visitSub46(Sub46 sub, Counter counter) {
+    sub.visitorDispatch46(counter);
+  }
+
+  @override
+  void visitSub47(Sub47 sub, Counter counter) {
+    sub.visitorDispatch47(counter);
+  }
+
+  @override
+  void visitSub48(Sub48 sub, Counter counter) {
+    sub.visitorDispatch48(counter);
+  }
+
+  @override
+  void visitSub49(Sub49 sub, Counter counter) {
+    sub.visitorDispatch49(counter);
+  }
+
+  @override
+  void visitSub50(Sub50 sub, Counter counter) {
+    sub.visitorDispatch50(counter);
+  }
+
+  @override
+  void visitSub51(Sub51 sub, Counter counter) {
+    sub.visitorDispatch51(counter);
+  }
+
+  @override
+  void visitSub52(Sub52 sub, Counter counter) {
+    sub.visitorDispatch52(counter);
+  }
+
+  @override
+  void visitSub53(Sub53 sub, Counter counter) {
+    sub.visitorDispatch53(counter);
+  }
+
+  @override
+  void visitSub54(Sub54 sub, Counter counter) {
+    sub.visitorDispatch54(counter);
+  }
+
+  @override
+  void visitSub55(Sub55 sub, Counter counter) {
+    sub.visitorDispatch55(counter);
+  }
+
+  @override
+  void visitSub56(Sub56 sub, Counter counter) {
+    sub.visitorDispatch56(counter);
+  }
+
+  @override
+  void visitSub57(Sub57 sub, Counter counter) {
+    sub.visitorDispatch57(counter);
+  }
+
+  @override
+  void visitSub58(Sub58 sub, Counter counter) {
+    sub.visitorDispatch58(counter);
+  }
+
+  @override
+  void visitSub59(Sub59 sub, Counter counter) {
+    sub.visitorDispatch59(counter);
+  }
+
+  @override
+  void visitSub60(Sub60 sub, Counter counter) {
+    sub.visitorDispatch60(counter);
+  }
+
+  @override
+  void visitSub61(Sub61 sub, Counter counter) {
+    sub.visitorDispatch61(counter);
+  }
+
+  @override
+  void visitSub62(Sub62 sub, Counter counter) {
+    sub.visitorDispatch62(counter);
+  }
+
+  @override
+  void visitSub63(Sub63 sub, Counter counter) {
+    sub.visitorDispatch63(counter);
+  }
+
+  @override
+  void visitSub64(Sub64 sub, Counter counter) {
+    sub.visitorDispatch64(counter);
+  }
+
+  @override
+  void visitSub65(Sub65 sub, Counter counter) {
+    sub.visitorDispatch65(counter);
+  }
+
+  @override
+  void visitSub66(Sub66 sub, Counter counter) {
+    sub.visitorDispatch66(counter);
+  }
+
+  @override
+  void visitSub67(Sub67 sub, Counter counter) {
+    sub.visitorDispatch67(counter);
+  }
+
+  @override
+  void visitSub68(Sub68 sub, Counter counter) {
+    sub.visitorDispatch68(counter);
+  }
+
+  @override
+  void visitSub69(Sub69 sub, Counter counter) {
+    sub.visitorDispatch69(counter);
+  }
+
+  @override
+  void visitSub70(Sub70 sub, Counter counter) {
+    sub.visitorDispatch70(counter);
+  }
+
+  @override
+  void visitSub71(Sub71 sub, Counter counter) {
+    sub.visitorDispatch71(counter);
+  }
+
+  @override
+  void visitSub72(Sub72 sub, Counter counter) {
+    sub.visitorDispatch72(counter);
+  }
+
+  @override
+  void visitSub73(Sub73 sub, Counter counter) {
+    sub.visitorDispatch73(counter);
+  }
+
+  @override
+  void visitSub74(Sub74 sub, Counter counter) {
+    sub.visitorDispatch74(counter);
+  }
+
+  @override
+  void visitSub75(Sub75 sub, Counter counter) {
+    sub.visitorDispatch75(counter);
+  }
+
+  @override
+  void visitSub76(Sub76 sub, Counter counter) {
+    sub.visitorDispatch76(counter);
+  }
+
+  @override
+  void visitSub77(Sub77 sub, Counter counter) {
+    sub.visitorDispatch77(counter);
+  }
+
+  @override
+  void visitSub78(Sub78 sub, Counter counter) {
+    sub.visitorDispatch78(counter);
+  }
+
+  @override
+  void visitSub79(Sub79 sub, Counter counter) {
+    sub.visitorDispatch79(counter);
+  }
+
+  @override
+  void visitSub80(Sub80 sub, Counter counter) {
+    sub.visitorDispatch80(counter);
+  }
+
+  @override
+  void visitSub81(Sub81 sub, Counter counter) {
+    sub.visitorDispatch81(counter);
+  }
+
+  @override
+  void visitSub82(Sub82 sub, Counter counter) {
+    sub.visitorDispatch82(counter);
+  }
+
+  @override
+  void visitSub83(Sub83 sub, Counter counter) {
+    sub.visitorDispatch83(counter);
+  }
+
+  @override
+  void visitSub84(Sub84 sub, Counter counter) {
+    sub.visitorDispatch84(counter);
+  }
+
+  @override
+  void visitSub85(Sub85 sub, Counter counter) {
+    sub.visitorDispatch85(counter);
+  }
+
+  @override
+  void visitSub86(Sub86 sub, Counter counter) {
+    sub.visitorDispatch86(counter);
+  }
+
+  @override
+  void visitSub87(Sub87 sub, Counter counter) {
+    sub.visitorDispatch87(counter);
+  }
+
+  @override
+  void visitSub88(Sub88 sub, Counter counter) {
+    sub.visitorDispatch88(counter);
+  }
+
+  @override
+  void visitSub89(Sub89 sub, Counter counter) {
+    sub.visitorDispatch89(counter);
+  }
+
+  @override
+  void visitSub90(Sub90 sub, Counter counter) {
+    sub.visitorDispatch90(counter);
+  }
+
+  @override
+  void visitSub91(Sub91 sub, Counter counter) {
+    sub.visitorDispatch91(counter);
+  }
+
+  @override
+  void visitSub92(Sub92 sub, Counter counter) {
+    sub.visitorDispatch92(counter);
+  }
+
+  @override
+  void visitSub93(Sub93 sub, Counter counter) {
+    sub.visitorDispatch93(counter);
+  }
+
+  @override
+  void visitSub94(Sub94 sub, Counter counter) {
+    sub.visitorDispatch94(counter);
+  }
+
+  @override
+  void visitSub95(Sub95 sub, Counter counter) {
+    sub.visitorDispatch95(counter);
+  }
+
+  @override
+  void visitSub96(Sub96 sub, Counter counter) {
+    sub.visitorDispatch96(counter);
+  }
+
+  @override
+  void visitSub97(Sub97 sub, Counter counter) {
+    sub.visitorDispatch97(counter);
+  }
+
+  @override
+  void visitSub98(Sub98 sub, Counter counter) {
+    sub.visitorDispatch98(counter);
+  }
+
+  @override
+  void visitSub99(Sub99 sub, Counter counter) {
+    sub.visitorDispatch99(counter);
+  }
+
+  @override
+  void visitSub100(Sub100 sub, Counter counter) {
+    sub.visitorDispatch100(counter);
+  }
+
+  @override
+  void visitSub101(Sub101 sub, Counter counter) {
+    sub.visitorDispatch101(counter);
+  }
+
+  @override
+  void visitSub102(Sub102 sub, Counter counter) {
+    sub.visitorDispatch102(counter);
+  }
+
+  @override
+  void visitSub103(Sub103 sub, Counter counter) {
+    sub.visitorDispatch103(counter);
+  }
+
+  @override
+  void visitSub104(Sub104 sub, Counter counter) {
+    sub.visitorDispatch104(counter);
+  }
+
+  @override
+  void visitSub105(Sub105 sub, Counter counter) {
+    sub.visitorDispatch105(counter);
+  }
+
+  @override
+  void visitSub106(Sub106 sub, Counter counter) {
+    sub.visitorDispatch106(counter);
+  }
+
+  @override
+  void visitSub107(Sub107 sub, Counter counter) {
+    sub.visitorDispatch107(counter);
+  }
+
+  @override
+  void visitSub108(Sub108 sub, Counter counter) {
+    sub.visitorDispatch108(counter);
+  }
+
+  @override
+  void visitSub109(Sub109 sub, Counter counter) {
+    sub.visitorDispatch109(counter);
+  }
+
+  @override
+  void visitSub110(Sub110 sub, Counter counter) {
+    sub.visitorDispatch110(counter);
+  }
+
+  @override
+  void visitSub111(Sub111 sub, Counter counter) {
+    sub.visitorDispatch111(counter);
+  }
+
+  @override
+  void visitSub112(Sub112 sub, Counter counter) {
+    sub.visitorDispatch112(counter);
+  }
+
+  @override
+  void visitSub113(Sub113 sub, Counter counter) {
+    sub.visitorDispatch113(counter);
+  }
+
+  @override
+  void visitSub114(Sub114 sub, Counter counter) {
+    sub.visitorDispatch114(counter);
+  }
+
+  @override
+  void visitSub115(Sub115 sub, Counter counter) {
+    sub.visitorDispatch115(counter);
+  }
+
+  @override
+  void visitSub116(Sub116 sub, Counter counter) {
+    sub.visitorDispatch116(counter);
+  }
+
+  @override
+  void visitSub117(Sub117 sub, Counter counter) {
+    sub.visitorDispatch117(counter);
+  }
+
+  @override
+  void visitSub118(Sub118 sub, Counter counter) {
+    sub.visitorDispatch118(counter);
+  }
+
+  @override
+  void visitSub119(Sub119 sub, Counter counter) {
+    sub.visitorDispatch119(counter);
+  }
+
+  @override
+  void visitSub120(Sub120 sub, Counter counter) {
+    sub.visitorDispatch120(counter);
+  }
+
+  @override
+  void visitSub121(Sub121 sub, Counter counter) {
+    sub.visitorDispatch121(counter);
+  }
+
+  @override
+  void visitSub122(Sub122 sub, Counter counter) {
+    sub.visitorDispatch122(counter);
+  }
+
+  @override
+  void visitSub123(Sub123 sub, Counter counter) {
+    sub.visitorDispatch123(counter);
+  }
+
+  @override
+  void visitSub124(Sub124 sub, Counter counter) {
+    sub.visitorDispatch124(counter);
+  }
+
+  @override
+  void visitSub125(Sub125 sub, Counter counter) {
+    sub.visitorDispatch125(counter);
+  }
+
+  @override
+  void visitSub126(Sub126 sub, Counter counter) {
+    sub.visitorDispatch126(counter);
+  }
+
+  @override
+  void visitSub127(Sub127 sub, Counter counter) {
+    sub.visitorDispatch127(counter);
+  }
+
+  @override
+  void visitSub128(Sub128 sub, Counter counter) {
+    sub.visitorDispatch128(counter);
+  }
+
+  @override
+  void visitSub129(Sub129 sub, Counter counter) {
+    sub.visitorDispatch129(counter);
+  }
+
+  @override
+  void visitSub130(Sub130 sub, Counter counter) {
+    sub.visitorDispatch130(counter);
+  }
+
+  @override
+  void visitSub131(Sub131 sub, Counter counter) {
+    sub.visitorDispatch131(counter);
+  }
+
+  @override
+  void visitSub132(Sub132 sub, Counter counter) {
+    sub.visitorDispatch132(counter);
+  }
+
+  @override
+  void visitSub133(Sub133 sub, Counter counter) {
+    sub.visitorDispatch133(counter);
+  }
+
+  @override
+  void visitSub134(Sub134 sub, Counter counter) {
+    sub.visitorDispatch134(counter);
+  }
+
+  @override
+  void visitSub135(Sub135 sub, Counter counter) {
+    sub.visitorDispatch135(counter);
+  }
+
+  @override
+  void visitSub136(Sub136 sub, Counter counter) {
+    sub.visitorDispatch136(counter);
+  }
+
+  @override
+  void visitSub137(Sub137 sub, Counter counter) {
+    sub.visitorDispatch137(counter);
+  }
+
+  @override
+  void visitSub138(Sub138 sub, Counter counter) {
+    sub.visitorDispatch138(counter);
+  }
+
+  @override
+  void visitSub139(Sub139 sub, Counter counter) {
+    sub.visitorDispatch139(counter);
+  }
+
+  @override
+  void visitSub140(Sub140 sub, Counter counter) {
+    sub.visitorDispatch140(counter);
+  }
+
+  @override
+  void visitSub141(Sub141 sub, Counter counter) {
+    sub.visitorDispatch141(counter);
+  }
+
+  @override
+  void visitSub142(Sub142 sub, Counter counter) {
+    sub.visitorDispatch142(counter);
+  }
+
+  @override
+  void visitSub143(Sub143 sub, Counter counter) {
+    sub.visitorDispatch143(counter);
+  }
+
+  @override
+  void visitSub144(Sub144 sub, Counter counter) {
+    sub.visitorDispatch144(counter);
+  }
+
+  @override
+  void visitSub145(Sub145 sub, Counter counter) {
+    sub.visitorDispatch145(counter);
+  }
+
+  @override
+  void visitSub146(Sub146 sub, Counter counter) {
+    sub.visitorDispatch146(counter);
+  }
+
+  @override
+  void visitSub147(Sub147 sub, Counter counter) {
+    sub.visitorDispatch147(counter);
+  }
+
+  @override
+  void visitSub148(Sub148 sub, Counter counter) {
+    sub.visitorDispatch148(counter);
+  }
+
+  @override
+  void visitSub149(Sub149 sub, Counter counter) {
+    sub.visitorDispatch149(counter);
+  }
+
+  @override
+  void visitSub150(Sub150 sub, Counter counter) {
+    sub.visitorDispatch150(counter);
+  }
+
+  @override
+  void visitSub151(Sub151 sub, Counter counter) {
+    sub.visitorDispatch151(counter);
+  }
+
+  @override
+  void visitSub152(Sub152 sub, Counter counter) {
+    sub.visitorDispatch152(counter);
+  }
+
+  @override
+  void visitSub153(Sub153 sub, Counter counter) {
+    sub.visitorDispatch153(counter);
+  }
+
+  @override
+  void visitSub154(Sub154 sub, Counter counter) {
+    sub.visitorDispatch154(counter);
+  }
+
+  @override
+  void visitSub155(Sub155 sub, Counter counter) {
+    sub.visitorDispatch155(counter);
+  }
+
+  @override
+  void visitSub156(Sub156 sub, Counter counter) {
+    sub.visitorDispatch156(counter);
+  }
+
+  @override
+  void visitSub157(Sub157 sub, Counter counter) {
+    sub.visitorDispatch157(counter);
+  }
+
+  @override
+  void visitSub158(Sub158 sub, Counter counter) {
+    sub.visitorDispatch158(counter);
+  }
+
+  @override
+  void visitSub159(Sub159 sub, Counter counter) {
+    sub.visitorDispatch159(counter);
+  }
+
+  @override
+  void visitSub160(Sub160 sub, Counter counter) {
+    sub.visitorDispatch160(counter);
+  }
+
+  @override
+  void visitSub161(Sub161 sub, Counter counter) {
+    sub.visitorDispatch161(counter);
+  }
+
+  @override
+  void visitSub162(Sub162 sub, Counter counter) {
+    sub.visitorDispatch162(counter);
+  }
+
+  @override
+  void visitSub163(Sub163 sub, Counter counter) {
+    sub.visitorDispatch163(counter);
+  }
+
+  @override
+  void visitSub164(Sub164 sub, Counter counter) {
+    sub.visitorDispatch164(counter);
+  }
+
+  @override
+  void visitSub165(Sub165 sub, Counter counter) {
+    sub.visitorDispatch165(counter);
+  }
+
+  @override
+  void visitSub166(Sub166 sub, Counter counter) {
+    sub.visitorDispatch166(counter);
+  }
+
+  @override
+  void visitSub167(Sub167 sub, Counter counter) {
+    sub.visitorDispatch167(counter);
+  }
+
+  @override
+  void visitSub168(Sub168 sub, Counter counter) {
+    sub.visitorDispatch168(counter);
+  }
+
+  @override
+  void visitSub169(Sub169 sub, Counter counter) {
+    sub.visitorDispatch169(counter);
+  }
+
+  @override
+  void visitSub170(Sub170 sub, Counter counter) {
+    sub.visitorDispatch170(counter);
+  }
+
+  @override
+  void visitSub171(Sub171 sub, Counter counter) {
+    sub.visitorDispatch171(counter);
+  }
+
+  @override
+  void visitSub172(Sub172 sub, Counter counter) {
+    sub.visitorDispatch172(counter);
+  }
+
+  @override
+  void visitSub173(Sub173 sub, Counter counter) {
+    sub.visitorDispatch173(counter);
+  }
+
+  @override
+  void visitSub174(Sub174 sub, Counter counter) {
+    sub.visitorDispatch174(counter);
+  }
+
+  @override
+  void visitSub175(Sub175 sub, Counter counter) {
+    sub.visitorDispatch175(counter);
+  }
+
+  @override
+  void visitSub176(Sub176 sub, Counter counter) {
+    sub.visitorDispatch176(counter);
+  }
+
+  @override
+  void visitSub177(Sub177 sub, Counter counter) {
+    sub.visitorDispatch177(counter);
+  }
+
+  @override
+  void visitSub178(Sub178 sub, Counter counter) {
+    sub.visitorDispatch178(counter);
+  }
+
+  @override
+  void visitSub179(Sub179 sub, Counter counter) {
+    sub.visitorDispatch179(counter);
+  }
+
+  @override
+  void visitSub180(Sub180 sub, Counter counter) {
+    sub.visitorDispatch180(counter);
+  }
+
+  @override
+  void visitSub181(Sub181 sub, Counter counter) {
+    sub.visitorDispatch181(counter);
+  }
+
+  @override
+  void visitSub182(Sub182 sub, Counter counter) {
+    sub.visitorDispatch182(counter);
+  }
+
+  @override
+  void visitSub183(Sub183 sub, Counter counter) {
+    sub.visitorDispatch183(counter);
+  }
+
+  @override
+  void visitSub184(Sub184 sub, Counter counter) {
+    sub.visitorDispatch184(counter);
+  }
+
+  @override
+  void visitSub185(Sub185 sub, Counter counter) {
+    sub.visitorDispatch185(counter);
+  }
+
+  @override
+  void visitSub186(Sub186 sub, Counter counter) {
+    sub.visitorDispatch186(counter);
+  }
+
+  @override
+  void visitSub187(Sub187 sub, Counter counter) {
+    sub.visitorDispatch187(counter);
+  }
+
+  @override
+  void visitSub188(Sub188 sub, Counter counter) {
+    sub.visitorDispatch188(counter);
+  }
+
+  @override
+  void visitSub189(Sub189 sub, Counter counter) {
+    sub.visitorDispatch189(counter);
+  }
+
+  @override
+  void visitSub190(Sub190 sub, Counter counter) {
+    sub.visitorDispatch190(counter);
+  }
+
+  @override
+  void visitSub191(Sub191 sub, Counter counter) {
+    sub.visitorDispatch191(counter);
+  }
+
+  @override
+  void visitSub192(Sub192 sub, Counter counter) {
+    sub.visitorDispatch192(counter);
+  }
+
+  @override
+  void visitSub193(Sub193 sub, Counter counter) {
+    sub.visitorDispatch193(counter);
+  }
+
+  @override
+  void visitSub194(Sub194 sub, Counter counter) {
+    sub.visitorDispatch194(counter);
+  }
+
+  @override
+  void visitSub195(Sub195 sub, Counter counter) {
+    sub.visitorDispatch195(counter);
+  }
+
+  @override
+  void visitSub196(Sub196 sub, Counter counter) {
+    sub.visitorDispatch196(counter);
+  }
+
+  @override
+  void visitSub197(Sub197 sub, Counter counter) {
+    sub.visitorDispatch197(counter);
+  }
+
+  @override
+  void visitSub198(Sub198 sub, Counter counter) {
+    sub.visitorDispatch198(counter);
+  }
+
+  @override
+  void visitSub199(Sub199 sub, Counter counter) {
+    sub.visitorDispatch199(counter);
+  }
+
+  @override
+  void visitSub200(Sub200 sub, Counter counter) {
+    sub.visitorDispatch200(counter);
+  }
+
+  @override
+  void visitSub201(Sub201 sub, Counter counter) {
+    sub.visitorDispatch201(counter);
+  }
+
+  @override
+  void visitSub202(Sub202 sub, Counter counter) {
+    sub.visitorDispatch202(counter);
+  }
+
+  @override
+  void visitSub203(Sub203 sub, Counter counter) {
+    sub.visitorDispatch203(counter);
+  }
+
+  @override
+  void visitSub204(Sub204 sub, Counter counter) {
+    sub.visitorDispatch204(counter);
+  }
+
+  @override
+  void visitSub205(Sub205 sub, Counter counter) {
+    sub.visitorDispatch205(counter);
+  }
+
+  @override
+  void visitSub206(Sub206 sub, Counter counter) {
+    sub.visitorDispatch206(counter);
+  }
+
+  @override
+  void visitSub207(Sub207 sub, Counter counter) {
+    sub.visitorDispatch207(counter);
+  }
+
+  @override
+  void visitSub208(Sub208 sub, Counter counter) {
+    sub.visitorDispatch208(counter);
+  }
+
+  @override
+  void visitSub209(Sub209 sub, Counter counter) {
+    sub.visitorDispatch209(counter);
+  }
+
+  @override
+  void visitSub210(Sub210 sub, Counter counter) {
+    sub.visitorDispatch210(counter);
+  }
+
+  @override
+  void visitSub211(Sub211 sub, Counter counter) {
+    sub.visitorDispatch211(counter);
+  }
+
+  @override
+  void visitSub212(Sub212 sub, Counter counter) {
+    sub.visitorDispatch212(counter);
+  }
+
+  @override
+  void visitSub213(Sub213 sub, Counter counter) {
+    sub.visitorDispatch213(counter);
+  }
+
+  @override
+  void visitSub214(Sub214 sub, Counter counter) {
+    sub.visitorDispatch214(counter);
+  }
+
+  @override
+  void visitSub215(Sub215 sub, Counter counter) {
+    sub.visitorDispatch215(counter);
+  }
+
+  @override
+  void visitSub216(Sub216 sub, Counter counter) {
+    sub.visitorDispatch216(counter);
+  }
+
+  @override
+  void visitSub217(Sub217 sub, Counter counter) {
+    sub.visitorDispatch217(counter);
+  }
+
+  @override
+  void visitSub218(Sub218 sub, Counter counter) {
+    sub.visitorDispatch218(counter);
+  }
+
+  @override
+  void visitSub219(Sub219 sub, Counter counter) {
+    sub.visitorDispatch219(counter);
+  }
+
+  @override
+  void visitSub220(Sub220 sub, Counter counter) {
+    sub.visitorDispatch220(counter);
+  }
+
+  @override
+  void visitSub221(Sub221 sub, Counter counter) {
+    sub.visitorDispatch221(counter);
+  }
+
+  @override
+  void visitSub222(Sub222 sub, Counter counter) {
+    sub.visitorDispatch222(counter);
+  }
+
+  @override
+  void visitSub223(Sub223 sub, Counter counter) {
+    sub.visitorDispatch223(counter);
+  }
+
+  @override
+  void visitSub224(Sub224 sub, Counter counter) {
+    sub.visitorDispatch224(counter);
+  }
+
+  @override
+  void visitSub225(Sub225 sub, Counter counter) {
+    sub.visitorDispatch225(counter);
+  }
+
+  @override
+  void visitSub226(Sub226 sub, Counter counter) {
+    sub.visitorDispatch226(counter);
+  }
+
+  @override
+  void visitSub227(Sub227 sub, Counter counter) {
+    sub.visitorDispatch227(counter);
+  }
+
+  @override
+  void visitSub228(Sub228 sub, Counter counter) {
+    sub.visitorDispatch228(counter);
+  }
+
+  @override
+  void visitSub229(Sub229 sub, Counter counter) {
+    sub.visitorDispatch229(counter);
+  }
+
+  @override
+  void visitSub230(Sub230 sub, Counter counter) {
+    sub.visitorDispatch230(counter);
+  }
+
+  @override
+  void visitSub231(Sub231 sub, Counter counter) {
+    sub.visitorDispatch231(counter);
+  }
+
+  @override
+  void visitSub232(Sub232 sub, Counter counter) {
+    sub.visitorDispatch232(counter);
+  }
+
+  @override
+  void visitSub233(Sub233 sub, Counter counter) {
+    sub.visitorDispatch233(counter);
+  }
+
+  @override
+  void visitSub234(Sub234 sub, Counter counter) {
+    sub.visitorDispatch234(counter);
+  }
+
+  @override
+  void visitSub235(Sub235 sub, Counter counter) {
+    sub.visitorDispatch235(counter);
+  }
+
+  @override
+  void visitSub236(Sub236 sub, Counter counter) {
+    sub.visitorDispatch236(counter);
+  }
+
+  @override
+  void visitSub237(Sub237 sub, Counter counter) {
+    sub.visitorDispatch237(counter);
+  }
+
+  @override
+  void visitSub238(Sub238 sub, Counter counter) {
+    sub.visitorDispatch238(counter);
+  }
+
+  @override
+  void visitSub239(Sub239 sub, Counter counter) {
+    sub.visitorDispatch239(counter);
+  }
+
+  @override
+  void visitSub240(Sub240 sub, Counter counter) {
+    sub.visitorDispatch240(counter);
+  }
+
+  @override
+  void visitSub241(Sub241 sub, Counter counter) {
+    sub.visitorDispatch241(counter);
+  }
+
+  @override
+  void visitSub242(Sub242 sub, Counter counter) {
+    sub.visitorDispatch242(counter);
+  }
+
+  @override
+  void visitSub243(Sub243 sub, Counter counter) {
+    sub.visitorDispatch243(counter);
+  }
+
+  @override
+  void visitSub244(Sub244 sub, Counter counter) {
+    sub.visitorDispatch244(counter);
+  }
+
+  @override
+  void visitSub245(Sub245 sub, Counter counter) {
+    sub.visitorDispatch245(counter);
+  }
+
+  @override
+  void visitSub246(Sub246 sub, Counter counter) {
+    sub.visitorDispatch246(counter);
+  }
+
+  @override
+  void visitSub247(Sub247 sub, Counter counter) {
+    sub.visitorDispatch247(counter);
+  }
+
+  @override
+  void visitSub248(Sub248 sub, Counter counter) {
+    sub.visitorDispatch248(counter);
+  }
+
+  @override
+  void visitSub249(Sub249 sub, Counter counter) {
+    sub.visitorDispatch249(counter);
+  }
+
+  @override
+  void visitSub250(Sub250 sub, Counter counter) {
+    sub.visitorDispatch250(counter);
+  }
+
+  @override
+  void visitSub251(Sub251 sub, Counter counter) {
+    sub.visitorDispatch251(counter);
+  }
+
+  @override
+  void visitSub252(Sub252 sub, Counter counter) {
+    sub.visitorDispatch252(counter);
+  }
+
+  @override
+  void visitSub253(Sub253 sub, Counter counter) {
+    sub.visitorDispatch253(counter);
+  }
+
+  @override
+  void visitSub254(Sub254 sub, Counter counter) {
+    sub.visitorDispatch254(counter);
+  }
+
+  @override
+  void visitSub255(Sub255 sub, Counter counter) {
+    sub.visitorDispatch255(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype3.dart b/pkg/front_end/benchmarks/patterns/generated/datatype3.dart
new file mode 100644
index 0000000..80a3a52
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype3.dart
@@ -0,0 +1,128 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base3 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor3<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base3 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor3<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base3 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor3<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base3 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor3<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+List<Base3> createData3() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+  ];
+}
+
+void incByDynamicDispatch3(Base3 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch3(Base3 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  }
+}
+
+const Visitor3<void, Counter> visitor = CounterVisitor3();
+
+void incByVisitorDispatch3(Base3 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor3<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+}
+
+class CounterVisitor3 implements Visitor3<void, Counter> {
+  const CounterVisitor3();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype32.dart b/pkg/front_end/benchmarks/patterns/generated/datatype32.dart
new file mode 100644
index 0000000..02660ac
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype32.dart
@@ -0,0 +1,969 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base32 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor32<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+class Sub24 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub24(this, arg);
+  }
+}
+
+class Sub25 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub25(this, arg);
+  }
+}
+
+class Sub26 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub26(this, arg);
+  }
+}
+
+class Sub27 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub27(this, arg);
+  }
+}
+
+class Sub28 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub28(this, arg);
+  }
+}
+
+class Sub29 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub29(this, arg);
+  }
+}
+
+class Sub30 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub30(this, arg);
+  }
+}
+
+class Sub31 extends Base32 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor32<R, A> visitor, A arg) {
+    return visitor.visitSub31(this, arg);
+  }
+}
+
+List<Base32> createData32() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+    Sub24(),
+    Sub25(),
+    Sub26(),
+    Sub27(),
+    Sub28(),
+    Sub29(),
+    Sub30(),
+    Sub31(),
+  ];
+}
+
+void incByDynamicDispatch32(Base32 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch32(Base32 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  } else if (base is Sub24) {
+    base.ifThenElseDispatch24(counter);
+  } else if (base is Sub25) {
+    base.ifThenElseDispatch25(counter);
+  } else if (base is Sub26) {
+    base.ifThenElseDispatch26(counter);
+  } else if (base is Sub27) {
+    base.ifThenElseDispatch27(counter);
+  } else if (base is Sub28) {
+    base.ifThenElseDispatch28(counter);
+  } else if (base is Sub29) {
+    base.ifThenElseDispatch29(counter);
+  } else if (base is Sub30) {
+    base.ifThenElseDispatch30(counter);
+  } else if (base is Sub31) {
+    base.ifThenElseDispatch31(counter);
+  }
+}
+
+const Visitor32<void, Counter> visitor = CounterVisitor32();
+
+void incByVisitorDispatch32(Base32 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor32<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+  R visitSub24(Sub24 sub, A arg);
+  R visitSub25(Sub25 sub, A arg);
+  R visitSub26(Sub26 sub, A arg);
+  R visitSub27(Sub27 sub, A arg);
+  R visitSub28(Sub28 sub, A arg);
+  R visitSub29(Sub29 sub, A arg);
+  R visitSub30(Sub30 sub, A arg);
+  R visitSub31(Sub31 sub, A arg);
+}
+
+class CounterVisitor32 implements Visitor32<void, Counter> {
+  const CounterVisitor32();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+
+  @override
+  void visitSub24(Sub24 sub, Counter counter) {
+    sub.visitorDispatch24(counter);
+  }
+
+  @override
+  void visitSub25(Sub25 sub, Counter counter) {
+    sub.visitorDispatch25(counter);
+  }
+
+  @override
+  void visitSub26(Sub26 sub, Counter counter) {
+    sub.visitorDispatch26(counter);
+  }
+
+  @override
+  void visitSub27(Sub27 sub, Counter counter) {
+    sub.visitorDispatch27(counter);
+  }
+
+  @override
+  void visitSub28(Sub28 sub, Counter counter) {
+    sub.visitorDispatch28(counter);
+  }
+
+  @override
+  void visitSub29(Sub29 sub, Counter counter) {
+    sub.visitorDispatch29(counter);
+  }
+
+  @override
+  void visitSub30(Sub30 sub, Counter counter) {
+    sub.visitorDispatch30(counter);
+  }
+
+  @override
+  void visitSub31(Sub31 sub, Counter counter) {
+    sub.visitorDispatch31(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype4.dart b/pkg/front_end/benchmarks/patterns/generated/datatype4.dart
new file mode 100644
index 0000000..3e93dc2
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype4.dart
@@ -0,0 +1,157 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base4 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor4<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base4 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor4<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base4 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor4<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base4 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor4<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base4 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor4<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+List<Base4> createData4() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+  ];
+}
+
+void incByDynamicDispatch4(Base4 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch4(Base4 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  }
+}
+
+const Visitor4<void, Counter> visitor = CounterVisitor4();
+
+void incByVisitorDispatch4(Base4 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor4<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+}
+
+class CounterVisitor4 implements Visitor4<void, Counter> {
+  const CounterVisitor4();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype48.dart b/pkg/front_end/benchmarks/patterns/generated/datatype48.dart
new file mode 100644
index 0000000..d107aee
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype48.dart
@@ -0,0 +1,1433 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base48 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor48<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+class Sub24 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub24(this, arg);
+  }
+}
+
+class Sub25 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub25(this, arg);
+  }
+}
+
+class Sub26 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub26(this, arg);
+  }
+}
+
+class Sub27 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub27(this, arg);
+  }
+}
+
+class Sub28 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub28(this, arg);
+  }
+}
+
+class Sub29 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub29(this, arg);
+  }
+}
+
+class Sub30 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub30(this, arg);
+  }
+}
+
+class Sub31 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub31(this, arg);
+  }
+}
+
+class Sub32 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub32(this, arg);
+  }
+}
+
+class Sub33 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub33(this, arg);
+  }
+}
+
+class Sub34 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub34(this, arg);
+  }
+}
+
+class Sub35 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub35(this, arg);
+  }
+}
+
+class Sub36 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub36(this, arg);
+  }
+}
+
+class Sub37 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub37(this, arg);
+  }
+}
+
+class Sub38 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub38(this, arg);
+  }
+}
+
+class Sub39 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub39(this, arg);
+  }
+}
+
+class Sub40 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub40(this, arg);
+  }
+}
+
+class Sub41 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub41(this, arg);
+  }
+}
+
+class Sub42 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub42(this, arg);
+  }
+}
+
+class Sub43 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub43(this, arg);
+  }
+}
+
+class Sub44 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub44(this, arg);
+  }
+}
+
+class Sub45 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub45(this, arg);
+  }
+}
+
+class Sub46 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub46(this, arg);
+  }
+}
+
+class Sub47 extends Base48 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor48<R, A> visitor, A arg) {
+    return visitor.visitSub47(this, arg);
+  }
+}
+
+List<Base48> createData48() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+    Sub24(),
+    Sub25(),
+    Sub26(),
+    Sub27(),
+    Sub28(),
+    Sub29(),
+    Sub30(),
+    Sub31(),
+    Sub32(),
+    Sub33(),
+    Sub34(),
+    Sub35(),
+    Sub36(),
+    Sub37(),
+    Sub38(),
+    Sub39(),
+    Sub40(),
+    Sub41(),
+    Sub42(),
+    Sub43(),
+    Sub44(),
+    Sub45(),
+    Sub46(),
+    Sub47(),
+  ];
+}
+
+void incByDynamicDispatch48(Base48 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch48(Base48 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  } else if (base is Sub24) {
+    base.ifThenElseDispatch24(counter);
+  } else if (base is Sub25) {
+    base.ifThenElseDispatch25(counter);
+  } else if (base is Sub26) {
+    base.ifThenElseDispatch26(counter);
+  } else if (base is Sub27) {
+    base.ifThenElseDispatch27(counter);
+  } else if (base is Sub28) {
+    base.ifThenElseDispatch28(counter);
+  } else if (base is Sub29) {
+    base.ifThenElseDispatch29(counter);
+  } else if (base is Sub30) {
+    base.ifThenElseDispatch30(counter);
+  } else if (base is Sub31) {
+    base.ifThenElseDispatch31(counter);
+  } else if (base is Sub32) {
+    base.ifThenElseDispatch32(counter);
+  } else if (base is Sub33) {
+    base.ifThenElseDispatch33(counter);
+  } else if (base is Sub34) {
+    base.ifThenElseDispatch34(counter);
+  } else if (base is Sub35) {
+    base.ifThenElseDispatch35(counter);
+  } else if (base is Sub36) {
+    base.ifThenElseDispatch36(counter);
+  } else if (base is Sub37) {
+    base.ifThenElseDispatch37(counter);
+  } else if (base is Sub38) {
+    base.ifThenElseDispatch38(counter);
+  } else if (base is Sub39) {
+    base.ifThenElseDispatch39(counter);
+  } else if (base is Sub40) {
+    base.ifThenElseDispatch40(counter);
+  } else if (base is Sub41) {
+    base.ifThenElseDispatch41(counter);
+  } else if (base is Sub42) {
+    base.ifThenElseDispatch42(counter);
+  } else if (base is Sub43) {
+    base.ifThenElseDispatch43(counter);
+  } else if (base is Sub44) {
+    base.ifThenElseDispatch44(counter);
+  } else if (base is Sub45) {
+    base.ifThenElseDispatch45(counter);
+  } else if (base is Sub46) {
+    base.ifThenElseDispatch46(counter);
+  } else if (base is Sub47) {
+    base.ifThenElseDispatch47(counter);
+  }
+}
+
+const Visitor48<void, Counter> visitor = CounterVisitor48();
+
+void incByVisitorDispatch48(Base48 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor48<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+  R visitSub24(Sub24 sub, A arg);
+  R visitSub25(Sub25 sub, A arg);
+  R visitSub26(Sub26 sub, A arg);
+  R visitSub27(Sub27 sub, A arg);
+  R visitSub28(Sub28 sub, A arg);
+  R visitSub29(Sub29 sub, A arg);
+  R visitSub30(Sub30 sub, A arg);
+  R visitSub31(Sub31 sub, A arg);
+  R visitSub32(Sub32 sub, A arg);
+  R visitSub33(Sub33 sub, A arg);
+  R visitSub34(Sub34 sub, A arg);
+  R visitSub35(Sub35 sub, A arg);
+  R visitSub36(Sub36 sub, A arg);
+  R visitSub37(Sub37 sub, A arg);
+  R visitSub38(Sub38 sub, A arg);
+  R visitSub39(Sub39 sub, A arg);
+  R visitSub40(Sub40 sub, A arg);
+  R visitSub41(Sub41 sub, A arg);
+  R visitSub42(Sub42 sub, A arg);
+  R visitSub43(Sub43 sub, A arg);
+  R visitSub44(Sub44 sub, A arg);
+  R visitSub45(Sub45 sub, A arg);
+  R visitSub46(Sub46 sub, A arg);
+  R visitSub47(Sub47 sub, A arg);
+}
+
+class CounterVisitor48 implements Visitor48<void, Counter> {
+  const CounterVisitor48();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+
+  @override
+  void visitSub24(Sub24 sub, Counter counter) {
+    sub.visitorDispatch24(counter);
+  }
+
+  @override
+  void visitSub25(Sub25 sub, Counter counter) {
+    sub.visitorDispatch25(counter);
+  }
+
+  @override
+  void visitSub26(Sub26 sub, Counter counter) {
+    sub.visitorDispatch26(counter);
+  }
+
+  @override
+  void visitSub27(Sub27 sub, Counter counter) {
+    sub.visitorDispatch27(counter);
+  }
+
+  @override
+  void visitSub28(Sub28 sub, Counter counter) {
+    sub.visitorDispatch28(counter);
+  }
+
+  @override
+  void visitSub29(Sub29 sub, Counter counter) {
+    sub.visitorDispatch29(counter);
+  }
+
+  @override
+  void visitSub30(Sub30 sub, Counter counter) {
+    sub.visitorDispatch30(counter);
+  }
+
+  @override
+  void visitSub31(Sub31 sub, Counter counter) {
+    sub.visitorDispatch31(counter);
+  }
+
+  @override
+  void visitSub32(Sub32 sub, Counter counter) {
+    sub.visitorDispatch32(counter);
+  }
+
+  @override
+  void visitSub33(Sub33 sub, Counter counter) {
+    sub.visitorDispatch33(counter);
+  }
+
+  @override
+  void visitSub34(Sub34 sub, Counter counter) {
+    sub.visitorDispatch34(counter);
+  }
+
+  @override
+  void visitSub35(Sub35 sub, Counter counter) {
+    sub.visitorDispatch35(counter);
+  }
+
+  @override
+  void visitSub36(Sub36 sub, Counter counter) {
+    sub.visitorDispatch36(counter);
+  }
+
+  @override
+  void visitSub37(Sub37 sub, Counter counter) {
+    sub.visitorDispatch37(counter);
+  }
+
+  @override
+  void visitSub38(Sub38 sub, Counter counter) {
+    sub.visitorDispatch38(counter);
+  }
+
+  @override
+  void visitSub39(Sub39 sub, Counter counter) {
+    sub.visitorDispatch39(counter);
+  }
+
+  @override
+  void visitSub40(Sub40 sub, Counter counter) {
+    sub.visitorDispatch40(counter);
+  }
+
+  @override
+  void visitSub41(Sub41 sub, Counter counter) {
+    sub.visitorDispatch41(counter);
+  }
+
+  @override
+  void visitSub42(Sub42 sub, Counter counter) {
+    sub.visitorDispatch42(counter);
+  }
+
+  @override
+  void visitSub43(Sub43 sub, Counter counter) {
+    sub.visitorDispatch43(counter);
+  }
+
+  @override
+  void visitSub44(Sub44 sub, Counter counter) {
+    sub.visitorDispatch44(counter);
+  }
+
+  @override
+  void visitSub45(Sub45 sub, Counter counter) {
+    sub.visitorDispatch45(counter);
+  }
+
+  @override
+  void visitSub46(Sub46 sub, Counter counter) {
+    sub.visitorDispatch46(counter);
+  }
+
+  @override
+  void visitSub47(Sub47 sub, Counter counter) {
+    sub.visitorDispatch47(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype5.dart b/pkg/front_end/benchmarks/patterns/generated/datatype5.dart
new file mode 100644
index 0000000..6a75a54
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype5.dart
@@ -0,0 +1,186 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base5 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor5<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base5 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor5<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base5 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor5<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base5 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor5<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base5 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor5<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base5 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor5<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+List<Base5> createData5() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+  ];
+}
+
+void incByDynamicDispatch5(Base5 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch5(Base5 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  }
+}
+
+const Visitor5<void, Counter> visitor = CounterVisitor5();
+
+void incByVisitorDispatch5(Base5 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor5<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+}
+
+class CounterVisitor5 implements Visitor5<void, Counter> {
+  const CounterVisitor5();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype6.dart b/pkg/front_end/benchmarks/patterns/generated/datatype6.dart
new file mode 100644
index 0000000..4530c93
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype6.dart
@@ -0,0 +1,215 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base6 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor6<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base6 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor6<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base6 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor6<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base6 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor6<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base6 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor6<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base6 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor6<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base6 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor6<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+List<Base6> createData6() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+  ];
+}
+
+void incByDynamicDispatch6(Base6 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch6(Base6 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  }
+}
+
+const Visitor6<void, Counter> visitor = CounterVisitor6();
+
+void incByVisitorDispatch6(Base6 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor6<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+}
+
+class CounterVisitor6 implements Visitor6<void, Counter> {
+  const CounterVisitor6();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype64.dart b/pkg/front_end/benchmarks/patterns/generated/datatype64.dart
new file mode 100644
index 0000000..ef6d9cb
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype64.dart
@@ -0,0 +1,1897 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base64 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor64<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+class Sub24 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub24(this, arg);
+  }
+}
+
+class Sub25 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub25(this, arg);
+  }
+}
+
+class Sub26 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub26(this, arg);
+  }
+}
+
+class Sub27 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub27(this, arg);
+  }
+}
+
+class Sub28 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub28(this, arg);
+  }
+}
+
+class Sub29 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub29(this, arg);
+  }
+}
+
+class Sub30 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub30(this, arg);
+  }
+}
+
+class Sub31 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub31(this, arg);
+  }
+}
+
+class Sub32 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub32(this, arg);
+  }
+}
+
+class Sub33 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub33(this, arg);
+  }
+}
+
+class Sub34 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub34(this, arg);
+  }
+}
+
+class Sub35 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub35(this, arg);
+  }
+}
+
+class Sub36 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub36(this, arg);
+  }
+}
+
+class Sub37 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub37(this, arg);
+  }
+}
+
+class Sub38 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub38(this, arg);
+  }
+}
+
+class Sub39 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub39(this, arg);
+  }
+}
+
+class Sub40 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub40(this, arg);
+  }
+}
+
+class Sub41 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub41(this, arg);
+  }
+}
+
+class Sub42 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub42(this, arg);
+  }
+}
+
+class Sub43 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub43(this, arg);
+  }
+}
+
+class Sub44 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub44(this, arg);
+  }
+}
+
+class Sub45 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub45(this, arg);
+  }
+}
+
+class Sub46 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub46(this, arg);
+  }
+}
+
+class Sub47 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub47(this, arg);
+  }
+}
+
+class Sub48 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub48(this, arg);
+  }
+}
+
+class Sub49 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub49(this, arg);
+  }
+}
+
+class Sub50 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub50(this, arg);
+  }
+}
+
+class Sub51 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub51(this, arg);
+  }
+}
+
+class Sub52 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub52(this, arg);
+  }
+}
+
+class Sub53 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub53(this, arg);
+  }
+}
+
+class Sub54 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub54(this, arg);
+  }
+}
+
+class Sub55 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub55(this, arg);
+  }
+}
+
+class Sub56 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub56(this, arg);
+  }
+}
+
+class Sub57 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub57(this, arg);
+  }
+}
+
+class Sub58 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub58(this, arg);
+  }
+}
+
+class Sub59 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub59(this, arg);
+  }
+}
+
+class Sub60 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub60(this, arg);
+  }
+}
+
+class Sub61 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub61(this, arg);
+  }
+}
+
+class Sub62 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub62(this, arg);
+  }
+}
+
+class Sub63 extends Base64 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor64<R, A> visitor, A arg) {
+    return visitor.visitSub63(this, arg);
+  }
+}
+
+List<Base64> createData64() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+    Sub24(),
+    Sub25(),
+    Sub26(),
+    Sub27(),
+    Sub28(),
+    Sub29(),
+    Sub30(),
+    Sub31(),
+    Sub32(),
+    Sub33(),
+    Sub34(),
+    Sub35(),
+    Sub36(),
+    Sub37(),
+    Sub38(),
+    Sub39(),
+    Sub40(),
+    Sub41(),
+    Sub42(),
+    Sub43(),
+    Sub44(),
+    Sub45(),
+    Sub46(),
+    Sub47(),
+    Sub48(),
+    Sub49(),
+    Sub50(),
+    Sub51(),
+    Sub52(),
+    Sub53(),
+    Sub54(),
+    Sub55(),
+    Sub56(),
+    Sub57(),
+    Sub58(),
+    Sub59(),
+    Sub60(),
+    Sub61(),
+    Sub62(),
+    Sub63(),
+  ];
+}
+
+void incByDynamicDispatch64(Base64 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch64(Base64 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  } else if (base is Sub24) {
+    base.ifThenElseDispatch24(counter);
+  } else if (base is Sub25) {
+    base.ifThenElseDispatch25(counter);
+  } else if (base is Sub26) {
+    base.ifThenElseDispatch26(counter);
+  } else if (base is Sub27) {
+    base.ifThenElseDispatch27(counter);
+  } else if (base is Sub28) {
+    base.ifThenElseDispatch28(counter);
+  } else if (base is Sub29) {
+    base.ifThenElseDispatch29(counter);
+  } else if (base is Sub30) {
+    base.ifThenElseDispatch30(counter);
+  } else if (base is Sub31) {
+    base.ifThenElseDispatch31(counter);
+  } else if (base is Sub32) {
+    base.ifThenElseDispatch32(counter);
+  } else if (base is Sub33) {
+    base.ifThenElseDispatch33(counter);
+  } else if (base is Sub34) {
+    base.ifThenElseDispatch34(counter);
+  } else if (base is Sub35) {
+    base.ifThenElseDispatch35(counter);
+  } else if (base is Sub36) {
+    base.ifThenElseDispatch36(counter);
+  } else if (base is Sub37) {
+    base.ifThenElseDispatch37(counter);
+  } else if (base is Sub38) {
+    base.ifThenElseDispatch38(counter);
+  } else if (base is Sub39) {
+    base.ifThenElseDispatch39(counter);
+  } else if (base is Sub40) {
+    base.ifThenElseDispatch40(counter);
+  } else if (base is Sub41) {
+    base.ifThenElseDispatch41(counter);
+  } else if (base is Sub42) {
+    base.ifThenElseDispatch42(counter);
+  } else if (base is Sub43) {
+    base.ifThenElseDispatch43(counter);
+  } else if (base is Sub44) {
+    base.ifThenElseDispatch44(counter);
+  } else if (base is Sub45) {
+    base.ifThenElseDispatch45(counter);
+  } else if (base is Sub46) {
+    base.ifThenElseDispatch46(counter);
+  } else if (base is Sub47) {
+    base.ifThenElseDispatch47(counter);
+  } else if (base is Sub48) {
+    base.ifThenElseDispatch48(counter);
+  } else if (base is Sub49) {
+    base.ifThenElseDispatch49(counter);
+  } else if (base is Sub50) {
+    base.ifThenElseDispatch50(counter);
+  } else if (base is Sub51) {
+    base.ifThenElseDispatch51(counter);
+  } else if (base is Sub52) {
+    base.ifThenElseDispatch52(counter);
+  } else if (base is Sub53) {
+    base.ifThenElseDispatch53(counter);
+  } else if (base is Sub54) {
+    base.ifThenElseDispatch54(counter);
+  } else if (base is Sub55) {
+    base.ifThenElseDispatch55(counter);
+  } else if (base is Sub56) {
+    base.ifThenElseDispatch56(counter);
+  } else if (base is Sub57) {
+    base.ifThenElseDispatch57(counter);
+  } else if (base is Sub58) {
+    base.ifThenElseDispatch58(counter);
+  } else if (base is Sub59) {
+    base.ifThenElseDispatch59(counter);
+  } else if (base is Sub60) {
+    base.ifThenElseDispatch60(counter);
+  } else if (base is Sub61) {
+    base.ifThenElseDispatch61(counter);
+  } else if (base is Sub62) {
+    base.ifThenElseDispatch62(counter);
+  } else if (base is Sub63) {
+    base.ifThenElseDispatch63(counter);
+  }
+}
+
+const Visitor64<void, Counter> visitor = CounterVisitor64();
+
+void incByVisitorDispatch64(Base64 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor64<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+  R visitSub24(Sub24 sub, A arg);
+  R visitSub25(Sub25 sub, A arg);
+  R visitSub26(Sub26 sub, A arg);
+  R visitSub27(Sub27 sub, A arg);
+  R visitSub28(Sub28 sub, A arg);
+  R visitSub29(Sub29 sub, A arg);
+  R visitSub30(Sub30 sub, A arg);
+  R visitSub31(Sub31 sub, A arg);
+  R visitSub32(Sub32 sub, A arg);
+  R visitSub33(Sub33 sub, A arg);
+  R visitSub34(Sub34 sub, A arg);
+  R visitSub35(Sub35 sub, A arg);
+  R visitSub36(Sub36 sub, A arg);
+  R visitSub37(Sub37 sub, A arg);
+  R visitSub38(Sub38 sub, A arg);
+  R visitSub39(Sub39 sub, A arg);
+  R visitSub40(Sub40 sub, A arg);
+  R visitSub41(Sub41 sub, A arg);
+  R visitSub42(Sub42 sub, A arg);
+  R visitSub43(Sub43 sub, A arg);
+  R visitSub44(Sub44 sub, A arg);
+  R visitSub45(Sub45 sub, A arg);
+  R visitSub46(Sub46 sub, A arg);
+  R visitSub47(Sub47 sub, A arg);
+  R visitSub48(Sub48 sub, A arg);
+  R visitSub49(Sub49 sub, A arg);
+  R visitSub50(Sub50 sub, A arg);
+  R visitSub51(Sub51 sub, A arg);
+  R visitSub52(Sub52 sub, A arg);
+  R visitSub53(Sub53 sub, A arg);
+  R visitSub54(Sub54 sub, A arg);
+  R visitSub55(Sub55 sub, A arg);
+  R visitSub56(Sub56 sub, A arg);
+  R visitSub57(Sub57 sub, A arg);
+  R visitSub58(Sub58 sub, A arg);
+  R visitSub59(Sub59 sub, A arg);
+  R visitSub60(Sub60 sub, A arg);
+  R visitSub61(Sub61 sub, A arg);
+  R visitSub62(Sub62 sub, A arg);
+  R visitSub63(Sub63 sub, A arg);
+}
+
+class CounterVisitor64 implements Visitor64<void, Counter> {
+  const CounterVisitor64();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+
+  @override
+  void visitSub24(Sub24 sub, Counter counter) {
+    sub.visitorDispatch24(counter);
+  }
+
+  @override
+  void visitSub25(Sub25 sub, Counter counter) {
+    sub.visitorDispatch25(counter);
+  }
+
+  @override
+  void visitSub26(Sub26 sub, Counter counter) {
+    sub.visitorDispatch26(counter);
+  }
+
+  @override
+  void visitSub27(Sub27 sub, Counter counter) {
+    sub.visitorDispatch27(counter);
+  }
+
+  @override
+  void visitSub28(Sub28 sub, Counter counter) {
+    sub.visitorDispatch28(counter);
+  }
+
+  @override
+  void visitSub29(Sub29 sub, Counter counter) {
+    sub.visitorDispatch29(counter);
+  }
+
+  @override
+  void visitSub30(Sub30 sub, Counter counter) {
+    sub.visitorDispatch30(counter);
+  }
+
+  @override
+  void visitSub31(Sub31 sub, Counter counter) {
+    sub.visitorDispatch31(counter);
+  }
+
+  @override
+  void visitSub32(Sub32 sub, Counter counter) {
+    sub.visitorDispatch32(counter);
+  }
+
+  @override
+  void visitSub33(Sub33 sub, Counter counter) {
+    sub.visitorDispatch33(counter);
+  }
+
+  @override
+  void visitSub34(Sub34 sub, Counter counter) {
+    sub.visitorDispatch34(counter);
+  }
+
+  @override
+  void visitSub35(Sub35 sub, Counter counter) {
+    sub.visitorDispatch35(counter);
+  }
+
+  @override
+  void visitSub36(Sub36 sub, Counter counter) {
+    sub.visitorDispatch36(counter);
+  }
+
+  @override
+  void visitSub37(Sub37 sub, Counter counter) {
+    sub.visitorDispatch37(counter);
+  }
+
+  @override
+  void visitSub38(Sub38 sub, Counter counter) {
+    sub.visitorDispatch38(counter);
+  }
+
+  @override
+  void visitSub39(Sub39 sub, Counter counter) {
+    sub.visitorDispatch39(counter);
+  }
+
+  @override
+  void visitSub40(Sub40 sub, Counter counter) {
+    sub.visitorDispatch40(counter);
+  }
+
+  @override
+  void visitSub41(Sub41 sub, Counter counter) {
+    sub.visitorDispatch41(counter);
+  }
+
+  @override
+  void visitSub42(Sub42 sub, Counter counter) {
+    sub.visitorDispatch42(counter);
+  }
+
+  @override
+  void visitSub43(Sub43 sub, Counter counter) {
+    sub.visitorDispatch43(counter);
+  }
+
+  @override
+  void visitSub44(Sub44 sub, Counter counter) {
+    sub.visitorDispatch44(counter);
+  }
+
+  @override
+  void visitSub45(Sub45 sub, Counter counter) {
+    sub.visitorDispatch45(counter);
+  }
+
+  @override
+  void visitSub46(Sub46 sub, Counter counter) {
+    sub.visitorDispatch46(counter);
+  }
+
+  @override
+  void visitSub47(Sub47 sub, Counter counter) {
+    sub.visitorDispatch47(counter);
+  }
+
+  @override
+  void visitSub48(Sub48 sub, Counter counter) {
+    sub.visitorDispatch48(counter);
+  }
+
+  @override
+  void visitSub49(Sub49 sub, Counter counter) {
+    sub.visitorDispatch49(counter);
+  }
+
+  @override
+  void visitSub50(Sub50 sub, Counter counter) {
+    sub.visitorDispatch50(counter);
+  }
+
+  @override
+  void visitSub51(Sub51 sub, Counter counter) {
+    sub.visitorDispatch51(counter);
+  }
+
+  @override
+  void visitSub52(Sub52 sub, Counter counter) {
+    sub.visitorDispatch52(counter);
+  }
+
+  @override
+  void visitSub53(Sub53 sub, Counter counter) {
+    sub.visitorDispatch53(counter);
+  }
+
+  @override
+  void visitSub54(Sub54 sub, Counter counter) {
+    sub.visitorDispatch54(counter);
+  }
+
+  @override
+  void visitSub55(Sub55 sub, Counter counter) {
+    sub.visitorDispatch55(counter);
+  }
+
+  @override
+  void visitSub56(Sub56 sub, Counter counter) {
+    sub.visitorDispatch56(counter);
+  }
+
+  @override
+  void visitSub57(Sub57 sub, Counter counter) {
+    sub.visitorDispatch57(counter);
+  }
+
+  @override
+  void visitSub58(Sub58 sub, Counter counter) {
+    sub.visitorDispatch58(counter);
+  }
+
+  @override
+  void visitSub59(Sub59 sub, Counter counter) {
+    sub.visitorDispatch59(counter);
+  }
+
+  @override
+  void visitSub60(Sub60 sub, Counter counter) {
+    sub.visitorDispatch60(counter);
+  }
+
+  @override
+  void visitSub61(Sub61 sub, Counter counter) {
+    sub.visitorDispatch61(counter);
+  }
+
+  @override
+  void visitSub62(Sub62 sub, Counter counter) {
+    sub.visitorDispatch62(counter);
+  }
+
+  @override
+  void visitSub63(Sub63 sub, Counter counter) {
+    sub.visitorDispatch63(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype7.dart b/pkg/front_end/benchmarks/patterns/generated/datatype7.dart
new file mode 100644
index 0000000..640791b
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype7.dart
@@ -0,0 +1,244 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base7 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor7<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base7 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor7<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base7 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor7<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base7 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor7<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base7 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor7<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base7 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor7<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base7 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor7<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base7 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor7<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+List<Base7> createData7() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+  ];
+}
+
+void incByDynamicDispatch7(Base7 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch7(Base7 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  }
+}
+
+const Visitor7<void, Counter> visitor = CounterVisitor7();
+
+void incByVisitorDispatch7(Base7 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor7<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+}
+
+class CounterVisitor7 implements Visitor7<void, Counter> {
+  const CounterVisitor7();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype8.dart b/pkg/front_end/benchmarks/patterns/generated/datatype8.dart
new file mode 100644
index 0000000..8360237
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype8.dart
@@ -0,0 +1,273 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base8 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor8<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base8 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor8<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+List<Base8> createData8() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+  ];
+}
+
+void incByDynamicDispatch8(Base8 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch8(Base8 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  }
+}
+
+const Visitor8<void, Counter> visitor = CounterVisitor8();
+
+void incByVisitorDispatch8(Base8 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor8<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+}
+
+class CounterVisitor8 implements Visitor8<void, Counter> {
+  const CounterVisitor8();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/generated/datatype96.dart b/pkg/front_end/benchmarks/patterns/generated/datatype96.dart
new file mode 100644
index 0000000..41d89e5
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/generated/datatype96.dart
@@ -0,0 +1,2825 @@
+// 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.
+
+// Generated by
+//
+//   pkg/front_end/benchmarks/patterns/generate_datatypes.dart
+
+import '../test_datatypes.dart';
+
+abstract class Base96 {
+  void dynamicDispatch(Counter counter);
+
+  R accept<R, A>(Visitor96<R, A> visitor, A arg);
+}
+
+class Sub0 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch0(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub0(this, arg);
+  }
+}
+
+class Sub1 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch1(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub1(this, arg);
+  }
+}
+
+class Sub2 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch2(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub2(this, arg);
+  }
+}
+
+class Sub3 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch3(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub3(this, arg);
+  }
+}
+
+class Sub4 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch4(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub4(this, arg);
+  }
+}
+
+class Sub5 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch5(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub5(this, arg);
+  }
+}
+
+class Sub6 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch6(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub6(this, arg);
+  }
+}
+
+class Sub7 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch7(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub7(this, arg);
+  }
+}
+
+class Sub8 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch8(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub8(this, arg);
+  }
+}
+
+class Sub9 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch9(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub9(this, arg);
+  }
+}
+
+class Sub10 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch10(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub10(this, arg);
+  }
+}
+
+class Sub11 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch11(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub11(this, arg);
+  }
+}
+
+class Sub12 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch12(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub12(this, arg);
+  }
+}
+
+class Sub13 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch13(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub13(this, arg);
+  }
+}
+
+class Sub14 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch14(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub14(this, arg);
+  }
+}
+
+class Sub15 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch15(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub15(this, arg);
+  }
+}
+
+class Sub16 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch16(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub16(this, arg);
+  }
+}
+
+class Sub17 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch17(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub17(this, arg);
+  }
+}
+
+class Sub18 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch18(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub18(this, arg);
+  }
+}
+
+class Sub19 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch19(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub19(this, arg);
+  }
+}
+
+class Sub20 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch20(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub20(this, arg);
+  }
+}
+
+class Sub21 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch21(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub21(this, arg);
+  }
+}
+
+class Sub22 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch22(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub22(this, arg);
+  }
+}
+
+class Sub23 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch23(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub23(this, arg);
+  }
+}
+
+class Sub24 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch24(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub24(this, arg);
+  }
+}
+
+class Sub25 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch25(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub25(this, arg);
+  }
+}
+
+class Sub26 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch26(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub26(this, arg);
+  }
+}
+
+class Sub27 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch27(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub27(this, arg);
+  }
+}
+
+class Sub28 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch28(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub28(this, arg);
+  }
+}
+
+class Sub29 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch29(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub29(this, arg);
+  }
+}
+
+class Sub30 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch30(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub30(this, arg);
+  }
+}
+
+class Sub31 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch31(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub31(this, arg);
+  }
+}
+
+class Sub32 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch32(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub32(this, arg);
+  }
+}
+
+class Sub33 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch33(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub33(this, arg);
+  }
+}
+
+class Sub34 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch34(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub34(this, arg);
+  }
+}
+
+class Sub35 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch35(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub35(this, arg);
+  }
+}
+
+class Sub36 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch36(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub36(this, arg);
+  }
+}
+
+class Sub37 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch37(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub37(this, arg);
+  }
+}
+
+class Sub38 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch38(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub38(this, arg);
+  }
+}
+
+class Sub39 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch39(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub39(this, arg);
+  }
+}
+
+class Sub40 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch40(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub40(this, arg);
+  }
+}
+
+class Sub41 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch41(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub41(this, arg);
+  }
+}
+
+class Sub42 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch42(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub42(this, arg);
+  }
+}
+
+class Sub43 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch43(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub43(this, arg);
+  }
+}
+
+class Sub44 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch44(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub44(this, arg);
+  }
+}
+
+class Sub45 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch45(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub45(this, arg);
+  }
+}
+
+class Sub46 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch46(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub46(this, arg);
+  }
+}
+
+class Sub47 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch47(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub47(this, arg);
+  }
+}
+
+class Sub48 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch48(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub48(this, arg);
+  }
+}
+
+class Sub49 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch49(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub49(this, arg);
+  }
+}
+
+class Sub50 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch50(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub50(this, arg);
+  }
+}
+
+class Sub51 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch51(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub51(this, arg);
+  }
+}
+
+class Sub52 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch52(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub52(this, arg);
+  }
+}
+
+class Sub53 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch53(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub53(this, arg);
+  }
+}
+
+class Sub54 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch54(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub54(this, arg);
+  }
+}
+
+class Sub55 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch55(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub55(this, arg);
+  }
+}
+
+class Sub56 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch56(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub56(this, arg);
+  }
+}
+
+class Sub57 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch57(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub57(this, arg);
+  }
+}
+
+class Sub58 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch58(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub58(this, arg);
+  }
+}
+
+class Sub59 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch59(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub59(this, arg);
+  }
+}
+
+class Sub60 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch60(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub60(this, arg);
+  }
+}
+
+class Sub61 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch61(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub61(this, arg);
+  }
+}
+
+class Sub62 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch62(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub62(this, arg);
+  }
+}
+
+class Sub63 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch63(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub63(this, arg);
+  }
+}
+
+class Sub64 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch64(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub64(this, arg);
+  }
+}
+
+class Sub65 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch65(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub65(this, arg);
+  }
+}
+
+class Sub66 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch66(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub66(this, arg);
+  }
+}
+
+class Sub67 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch67(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub67(this, arg);
+  }
+}
+
+class Sub68 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch68(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub68(this, arg);
+  }
+}
+
+class Sub69 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch69(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub69(this, arg);
+  }
+}
+
+class Sub70 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch70(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub70(this, arg);
+  }
+}
+
+class Sub71 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch71(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub71(this, arg);
+  }
+}
+
+class Sub72 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch72(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub72(this, arg);
+  }
+}
+
+class Sub73 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch73(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub73(this, arg);
+  }
+}
+
+class Sub74 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch74(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub74(this, arg);
+  }
+}
+
+class Sub75 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch75(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub75(this, arg);
+  }
+}
+
+class Sub76 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch76(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub76(this, arg);
+  }
+}
+
+class Sub77 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch77(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub77(this, arg);
+  }
+}
+
+class Sub78 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch78(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub78(this, arg);
+  }
+}
+
+class Sub79 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch79(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub79(this, arg);
+  }
+}
+
+class Sub80 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch80(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub80(this, arg);
+  }
+}
+
+class Sub81 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch81(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub81(this, arg);
+  }
+}
+
+class Sub82 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch82(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub82(this, arg);
+  }
+}
+
+class Sub83 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch83(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub83(this, arg);
+  }
+}
+
+class Sub84 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch84(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub84(this, arg);
+  }
+}
+
+class Sub85 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch85(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub85(this, arg);
+  }
+}
+
+class Sub86 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch86(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub86(this, arg);
+  }
+}
+
+class Sub87 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch87(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub87(this, arg);
+  }
+}
+
+class Sub88 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch88(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub88(this, arg);
+  }
+}
+
+class Sub89 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch89(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub89(this, arg);
+  }
+}
+
+class Sub90 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch90(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub90(this, arg);
+  }
+}
+
+class Sub91 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch91(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub91(this, arg);
+  }
+}
+
+class Sub92 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch92(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub92(this, arg);
+  }
+}
+
+class Sub93 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch93(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub93(this, arg);
+  }
+}
+
+class Sub94 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch94(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub94(this, arg);
+  }
+}
+
+class Sub95 extends Base96 {
+  @override
+  void dynamicDispatch(Counter counter) {
+    counter.inc();
+  }
+
+  void ifThenElseDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  void visitorDispatch95(Counter counter) {
+    counter.inc();
+  }
+
+  @override
+  R accept<R, A>(Visitor96<R, A> visitor, A arg) {
+    return visitor.visitSub95(this, arg);
+  }
+}
+
+List<Base96> createData96() {
+  return [
+    Sub0(),
+    Sub1(),
+    Sub2(),
+    Sub3(),
+    Sub4(),
+    Sub5(),
+    Sub6(),
+    Sub7(),
+    Sub8(),
+    Sub9(),
+    Sub10(),
+    Sub11(),
+    Sub12(),
+    Sub13(),
+    Sub14(),
+    Sub15(),
+    Sub16(),
+    Sub17(),
+    Sub18(),
+    Sub19(),
+    Sub20(),
+    Sub21(),
+    Sub22(),
+    Sub23(),
+    Sub24(),
+    Sub25(),
+    Sub26(),
+    Sub27(),
+    Sub28(),
+    Sub29(),
+    Sub30(),
+    Sub31(),
+    Sub32(),
+    Sub33(),
+    Sub34(),
+    Sub35(),
+    Sub36(),
+    Sub37(),
+    Sub38(),
+    Sub39(),
+    Sub40(),
+    Sub41(),
+    Sub42(),
+    Sub43(),
+    Sub44(),
+    Sub45(),
+    Sub46(),
+    Sub47(),
+    Sub48(),
+    Sub49(),
+    Sub50(),
+    Sub51(),
+    Sub52(),
+    Sub53(),
+    Sub54(),
+    Sub55(),
+    Sub56(),
+    Sub57(),
+    Sub58(),
+    Sub59(),
+    Sub60(),
+    Sub61(),
+    Sub62(),
+    Sub63(),
+    Sub64(),
+    Sub65(),
+    Sub66(),
+    Sub67(),
+    Sub68(),
+    Sub69(),
+    Sub70(),
+    Sub71(),
+    Sub72(),
+    Sub73(),
+    Sub74(),
+    Sub75(),
+    Sub76(),
+    Sub77(),
+    Sub78(),
+    Sub79(),
+    Sub80(),
+    Sub81(),
+    Sub82(),
+    Sub83(),
+    Sub84(),
+    Sub85(),
+    Sub86(),
+    Sub87(),
+    Sub88(),
+    Sub89(),
+    Sub90(),
+    Sub91(),
+    Sub92(),
+    Sub93(),
+    Sub94(),
+    Sub95(),
+  ];
+}
+
+void incByDynamicDispatch96(Base96 base, Counter counter) {
+  base.dynamicDispatch(counter);
+}
+
+void incByIfThenElseDispatch96(Base96 base, Counter counter) {
+  if (base is Sub0) {
+    base.ifThenElseDispatch0(counter);
+  } else if (base is Sub1) {
+    base.ifThenElseDispatch1(counter);
+  } else if (base is Sub2) {
+    base.ifThenElseDispatch2(counter);
+  } else if (base is Sub3) {
+    base.ifThenElseDispatch3(counter);
+  } else if (base is Sub4) {
+    base.ifThenElseDispatch4(counter);
+  } else if (base is Sub5) {
+    base.ifThenElseDispatch5(counter);
+  } else if (base is Sub6) {
+    base.ifThenElseDispatch6(counter);
+  } else if (base is Sub7) {
+    base.ifThenElseDispatch7(counter);
+  } else if (base is Sub8) {
+    base.ifThenElseDispatch8(counter);
+  } else if (base is Sub9) {
+    base.ifThenElseDispatch9(counter);
+  } else if (base is Sub10) {
+    base.ifThenElseDispatch10(counter);
+  } else if (base is Sub11) {
+    base.ifThenElseDispatch11(counter);
+  } else if (base is Sub12) {
+    base.ifThenElseDispatch12(counter);
+  } else if (base is Sub13) {
+    base.ifThenElseDispatch13(counter);
+  } else if (base is Sub14) {
+    base.ifThenElseDispatch14(counter);
+  } else if (base is Sub15) {
+    base.ifThenElseDispatch15(counter);
+  } else if (base is Sub16) {
+    base.ifThenElseDispatch16(counter);
+  } else if (base is Sub17) {
+    base.ifThenElseDispatch17(counter);
+  } else if (base is Sub18) {
+    base.ifThenElseDispatch18(counter);
+  } else if (base is Sub19) {
+    base.ifThenElseDispatch19(counter);
+  } else if (base is Sub20) {
+    base.ifThenElseDispatch20(counter);
+  } else if (base is Sub21) {
+    base.ifThenElseDispatch21(counter);
+  } else if (base is Sub22) {
+    base.ifThenElseDispatch22(counter);
+  } else if (base is Sub23) {
+    base.ifThenElseDispatch23(counter);
+  } else if (base is Sub24) {
+    base.ifThenElseDispatch24(counter);
+  } else if (base is Sub25) {
+    base.ifThenElseDispatch25(counter);
+  } else if (base is Sub26) {
+    base.ifThenElseDispatch26(counter);
+  } else if (base is Sub27) {
+    base.ifThenElseDispatch27(counter);
+  } else if (base is Sub28) {
+    base.ifThenElseDispatch28(counter);
+  } else if (base is Sub29) {
+    base.ifThenElseDispatch29(counter);
+  } else if (base is Sub30) {
+    base.ifThenElseDispatch30(counter);
+  } else if (base is Sub31) {
+    base.ifThenElseDispatch31(counter);
+  } else if (base is Sub32) {
+    base.ifThenElseDispatch32(counter);
+  } else if (base is Sub33) {
+    base.ifThenElseDispatch33(counter);
+  } else if (base is Sub34) {
+    base.ifThenElseDispatch34(counter);
+  } else if (base is Sub35) {
+    base.ifThenElseDispatch35(counter);
+  } else if (base is Sub36) {
+    base.ifThenElseDispatch36(counter);
+  } else if (base is Sub37) {
+    base.ifThenElseDispatch37(counter);
+  } else if (base is Sub38) {
+    base.ifThenElseDispatch38(counter);
+  } else if (base is Sub39) {
+    base.ifThenElseDispatch39(counter);
+  } else if (base is Sub40) {
+    base.ifThenElseDispatch40(counter);
+  } else if (base is Sub41) {
+    base.ifThenElseDispatch41(counter);
+  } else if (base is Sub42) {
+    base.ifThenElseDispatch42(counter);
+  } else if (base is Sub43) {
+    base.ifThenElseDispatch43(counter);
+  } else if (base is Sub44) {
+    base.ifThenElseDispatch44(counter);
+  } else if (base is Sub45) {
+    base.ifThenElseDispatch45(counter);
+  } else if (base is Sub46) {
+    base.ifThenElseDispatch46(counter);
+  } else if (base is Sub47) {
+    base.ifThenElseDispatch47(counter);
+  } else if (base is Sub48) {
+    base.ifThenElseDispatch48(counter);
+  } else if (base is Sub49) {
+    base.ifThenElseDispatch49(counter);
+  } else if (base is Sub50) {
+    base.ifThenElseDispatch50(counter);
+  } else if (base is Sub51) {
+    base.ifThenElseDispatch51(counter);
+  } else if (base is Sub52) {
+    base.ifThenElseDispatch52(counter);
+  } else if (base is Sub53) {
+    base.ifThenElseDispatch53(counter);
+  } else if (base is Sub54) {
+    base.ifThenElseDispatch54(counter);
+  } else if (base is Sub55) {
+    base.ifThenElseDispatch55(counter);
+  } else if (base is Sub56) {
+    base.ifThenElseDispatch56(counter);
+  } else if (base is Sub57) {
+    base.ifThenElseDispatch57(counter);
+  } else if (base is Sub58) {
+    base.ifThenElseDispatch58(counter);
+  } else if (base is Sub59) {
+    base.ifThenElseDispatch59(counter);
+  } else if (base is Sub60) {
+    base.ifThenElseDispatch60(counter);
+  } else if (base is Sub61) {
+    base.ifThenElseDispatch61(counter);
+  } else if (base is Sub62) {
+    base.ifThenElseDispatch62(counter);
+  } else if (base is Sub63) {
+    base.ifThenElseDispatch63(counter);
+  } else if (base is Sub64) {
+    base.ifThenElseDispatch64(counter);
+  } else if (base is Sub65) {
+    base.ifThenElseDispatch65(counter);
+  } else if (base is Sub66) {
+    base.ifThenElseDispatch66(counter);
+  } else if (base is Sub67) {
+    base.ifThenElseDispatch67(counter);
+  } else if (base is Sub68) {
+    base.ifThenElseDispatch68(counter);
+  } else if (base is Sub69) {
+    base.ifThenElseDispatch69(counter);
+  } else if (base is Sub70) {
+    base.ifThenElseDispatch70(counter);
+  } else if (base is Sub71) {
+    base.ifThenElseDispatch71(counter);
+  } else if (base is Sub72) {
+    base.ifThenElseDispatch72(counter);
+  } else if (base is Sub73) {
+    base.ifThenElseDispatch73(counter);
+  } else if (base is Sub74) {
+    base.ifThenElseDispatch74(counter);
+  } else if (base is Sub75) {
+    base.ifThenElseDispatch75(counter);
+  } else if (base is Sub76) {
+    base.ifThenElseDispatch76(counter);
+  } else if (base is Sub77) {
+    base.ifThenElseDispatch77(counter);
+  } else if (base is Sub78) {
+    base.ifThenElseDispatch78(counter);
+  } else if (base is Sub79) {
+    base.ifThenElseDispatch79(counter);
+  } else if (base is Sub80) {
+    base.ifThenElseDispatch80(counter);
+  } else if (base is Sub81) {
+    base.ifThenElseDispatch81(counter);
+  } else if (base is Sub82) {
+    base.ifThenElseDispatch82(counter);
+  } else if (base is Sub83) {
+    base.ifThenElseDispatch83(counter);
+  } else if (base is Sub84) {
+    base.ifThenElseDispatch84(counter);
+  } else if (base is Sub85) {
+    base.ifThenElseDispatch85(counter);
+  } else if (base is Sub86) {
+    base.ifThenElseDispatch86(counter);
+  } else if (base is Sub87) {
+    base.ifThenElseDispatch87(counter);
+  } else if (base is Sub88) {
+    base.ifThenElseDispatch88(counter);
+  } else if (base is Sub89) {
+    base.ifThenElseDispatch89(counter);
+  } else if (base is Sub90) {
+    base.ifThenElseDispatch90(counter);
+  } else if (base is Sub91) {
+    base.ifThenElseDispatch91(counter);
+  } else if (base is Sub92) {
+    base.ifThenElseDispatch92(counter);
+  } else if (base is Sub93) {
+    base.ifThenElseDispatch93(counter);
+  } else if (base is Sub94) {
+    base.ifThenElseDispatch94(counter);
+  } else if (base is Sub95) {
+    base.ifThenElseDispatch95(counter);
+  }
+}
+
+const Visitor96<void, Counter> visitor = CounterVisitor96();
+
+void incByVisitorDispatch96(Base96 base, Counter counter) {
+  base.accept(visitor, counter);
+}
+
+abstract class Visitor96<R, A> {
+  R visitSub0(Sub0 sub, A arg);
+  R visitSub1(Sub1 sub, A arg);
+  R visitSub2(Sub2 sub, A arg);
+  R visitSub3(Sub3 sub, A arg);
+  R visitSub4(Sub4 sub, A arg);
+  R visitSub5(Sub5 sub, A arg);
+  R visitSub6(Sub6 sub, A arg);
+  R visitSub7(Sub7 sub, A arg);
+  R visitSub8(Sub8 sub, A arg);
+  R visitSub9(Sub9 sub, A arg);
+  R visitSub10(Sub10 sub, A arg);
+  R visitSub11(Sub11 sub, A arg);
+  R visitSub12(Sub12 sub, A arg);
+  R visitSub13(Sub13 sub, A arg);
+  R visitSub14(Sub14 sub, A arg);
+  R visitSub15(Sub15 sub, A arg);
+  R visitSub16(Sub16 sub, A arg);
+  R visitSub17(Sub17 sub, A arg);
+  R visitSub18(Sub18 sub, A arg);
+  R visitSub19(Sub19 sub, A arg);
+  R visitSub20(Sub20 sub, A arg);
+  R visitSub21(Sub21 sub, A arg);
+  R visitSub22(Sub22 sub, A arg);
+  R visitSub23(Sub23 sub, A arg);
+  R visitSub24(Sub24 sub, A arg);
+  R visitSub25(Sub25 sub, A arg);
+  R visitSub26(Sub26 sub, A arg);
+  R visitSub27(Sub27 sub, A arg);
+  R visitSub28(Sub28 sub, A arg);
+  R visitSub29(Sub29 sub, A arg);
+  R visitSub30(Sub30 sub, A arg);
+  R visitSub31(Sub31 sub, A arg);
+  R visitSub32(Sub32 sub, A arg);
+  R visitSub33(Sub33 sub, A arg);
+  R visitSub34(Sub34 sub, A arg);
+  R visitSub35(Sub35 sub, A arg);
+  R visitSub36(Sub36 sub, A arg);
+  R visitSub37(Sub37 sub, A arg);
+  R visitSub38(Sub38 sub, A arg);
+  R visitSub39(Sub39 sub, A arg);
+  R visitSub40(Sub40 sub, A arg);
+  R visitSub41(Sub41 sub, A arg);
+  R visitSub42(Sub42 sub, A arg);
+  R visitSub43(Sub43 sub, A arg);
+  R visitSub44(Sub44 sub, A arg);
+  R visitSub45(Sub45 sub, A arg);
+  R visitSub46(Sub46 sub, A arg);
+  R visitSub47(Sub47 sub, A arg);
+  R visitSub48(Sub48 sub, A arg);
+  R visitSub49(Sub49 sub, A arg);
+  R visitSub50(Sub50 sub, A arg);
+  R visitSub51(Sub51 sub, A arg);
+  R visitSub52(Sub52 sub, A arg);
+  R visitSub53(Sub53 sub, A arg);
+  R visitSub54(Sub54 sub, A arg);
+  R visitSub55(Sub55 sub, A arg);
+  R visitSub56(Sub56 sub, A arg);
+  R visitSub57(Sub57 sub, A arg);
+  R visitSub58(Sub58 sub, A arg);
+  R visitSub59(Sub59 sub, A arg);
+  R visitSub60(Sub60 sub, A arg);
+  R visitSub61(Sub61 sub, A arg);
+  R visitSub62(Sub62 sub, A arg);
+  R visitSub63(Sub63 sub, A arg);
+  R visitSub64(Sub64 sub, A arg);
+  R visitSub65(Sub65 sub, A arg);
+  R visitSub66(Sub66 sub, A arg);
+  R visitSub67(Sub67 sub, A arg);
+  R visitSub68(Sub68 sub, A arg);
+  R visitSub69(Sub69 sub, A arg);
+  R visitSub70(Sub70 sub, A arg);
+  R visitSub71(Sub71 sub, A arg);
+  R visitSub72(Sub72 sub, A arg);
+  R visitSub73(Sub73 sub, A arg);
+  R visitSub74(Sub74 sub, A arg);
+  R visitSub75(Sub75 sub, A arg);
+  R visitSub76(Sub76 sub, A arg);
+  R visitSub77(Sub77 sub, A arg);
+  R visitSub78(Sub78 sub, A arg);
+  R visitSub79(Sub79 sub, A arg);
+  R visitSub80(Sub80 sub, A arg);
+  R visitSub81(Sub81 sub, A arg);
+  R visitSub82(Sub82 sub, A arg);
+  R visitSub83(Sub83 sub, A arg);
+  R visitSub84(Sub84 sub, A arg);
+  R visitSub85(Sub85 sub, A arg);
+  R visitSub86(Sub86 sub, A arg);
+  R visitSub87(Sub87 sub, A arg);
+  R visitSub88(Sub88 sub, A arg);
+  R visitSub89(Sub89 sub, A arg);
+  R visitSub90(Sub90 sub, A arg);
+  R visitSub91(Sub91 sub, A arg);
+  R visitSub92(Sub92 sub, A arg);
+  R visitSub93(Sub93 sub, A arg);
+  R visitSub94(Sub94 sub, A arg);
+  R visitSub95(Sub95 sub, A arg);
+}
+
+class CounterVisitor96 implements Visitor96<void, Counter> {
+  const CounterVisitor96();
+
+  @override
+  void visitSub0(Sub0 sub, Counter counter) {
+    sub.visitorDispatch0(counter);
+  }
+
+  @override
+  void visitSub1(Sub1 sub, Counter counter) {
+    sub.visitorDispatch1(counter);
+  }
+
+  @override
+  void visitSub2(Sub2 sub, Counter counter) {
+    sub.visitorDispatch2(counter);
+  }
+
+  @override
+  void visitSub3(Sub3 sub, Counter counter) {
+    sub.visitorDispatch3(counter);
+  }
+
+  @override
+  void visitSub4(Sub4 sub, Counter counter) {
+    sub.visitorDispatch4(counter);
+  }
+
+  @override
+  void visitSub5(Sub5 sub, Counter counter) {
+    sub.visitorDispatch5(counter);
+  }
+
+  @override
+  void visitSub6(Sub6 sub, Counter counter) {
+    sub.visitorDispatch6(counter);
+  }
+
+  @override
+  void visitSub7(Sub7 sub, Counter counter) {
+    sub.visitorDispatch7(counter);
+  }
+
+  @override
+  void visitSub8(Sub8 sub, Counter counter) {
+    sub.visitorDispatch8(counter);
+  }
+
+  @override
+  void visitSub9(Sub9 sub, Counter counter) {
+    sub.visitorDispatch9(counter);
+  }
+
+  @override
+  void visitSub10(Sub10 sub, Counter counter) {
+    sub.visitorDispatch10(counter);
+  }
+
+  @override
+  void visitSub11(Sub11 sub, Counter counter) {
+    sub.visitorDispatch11(counter);
+  }
+
+  @override
+  void visitSub12(Sub12 sub, Counter counter) {
+    sub.visitorDispatch12(counter);
+  }
+
+  @override
+  void visitSub13(Sub13 sub, Counter counter) {
+    sub.visitorDispatch13(counter);
+  }
+
+  @override
+  void visitSub14(Sub14 sub, Counter counter) {
+    sub.visitorDispatch14(counter);
+  }
+
+  @override
+  void visitSub15(Sub15 sub, Counter counter) {
+    sub.visitorDispatch15(counter);
+  }
+
+  @override
+  void visitSub16(Sub16 sub, Counter counter) {
+    sub.visitorDispatch16(counter);
+  }
+
+  @override
+  void visitSub17(Sub17 sub, Counter counter) {
+    sub.visitorDispatch17(counter);
+  }
+
+  @override
+  void visitSub18(Sub18 sub, Counter counter) {
+    sub.visitorDispatch18(counter);
+  }
+
+  @override
+  void visitSub19(Sub19 sub, Counter counter) {
+    sub.visitorDispatch19(counter);
+  }
+
+  @override
+  void visitSub20(Sub20 sub, Counter counter) {
+    sub.visitorDispatch20(counter);
+  }
+
+  @override
+  void visitSub21(Sub21 sub, Counter counter) {
+    sub.visitorDispatch21(counter);
+  }
+
+  @override
+  void visitSub22(Sub22 sub, Counter counter) {
+    sub.visitorDispatch22(counter);
+  }
+
+  @override
+  void visitSub23(Sub23 sub, Counter counter) {
+    sub.visitorDispatch23(counter);
+  }
+
+  @override
+  void visitSub24(Sub24 sub, Counter counter) {
+    sub.visitorDispatch24(counter);
+  }
+
+  @override
+  void visitSub25(Sub25 sub, Counter counter) {
+    sub.visitorDispatch25(counter);
+  }
+
+  @override
+  void visitSub26(Sub26 sub, Counter counter) {
+    sub.visitorDispatch26(counter);
+  }
+
+  @override
+  void visitSub27(Sub27 sub, Counter counter) {
+    sub.visitorDispatch27(counter);
+  }
+
+  @override
+  void visitSub28(Sub28 sub, Counter counter) {
+    sub.visitorDispatch28(counter);
+  }
+
+  @override
+  void visitSub29(Sub29 sub, Counter counter) {
+    sub.visitorDispatch29(counter);
+  }
+
+  @override
+  void visitSub30(Sub30 sub, Counter counter) {
+    sub.visitorDispatch30(counter);
+  }
+
+  @override
+  void visitSub31(Sub31 sub, Counter counter) {
+    sub.visitorDispatch31(counter);
+  }
+
+  @override
+  void visitSub32(Sub32 sub, Counter counter) {
+    sub.visitorDispatch32(counter);
+  }
+
+  @override
+  void visitSub33(Sub33 sub, Counter counter) {
+    sub.visitorDispatch33(counter);
+  }
+
+  @override
+  void visitSub34(Sub34 sub, Counter counter) {
+    sub.visitorDispatch34(counter);
+  }
+
+  @override
+  void visitSub35(Sub35 sub, Counter counter) {
+    sub.visitorDispatch35(counter);
+  }
+
+  @override
+  void visitSub36(Sub36 sub, Counter counter) {
+    sub.visitorDispatch36(counter);
+  }
+
+  @override
+  void visitSub37(Sub37 sub, Counter counter) {
+    sub.visitorDispatch37(counter);
+  }
+
+  @override
+  void visitSub38(Sub38 sub, Counter counter) {
+    sub.visitorDispatch38(counter);
+  }
+
+  @override
+  void visitSub39(Sub39 sub, Counter counter) {
+    sub.visitorDispatch39(counter);
+  }
+
+  @override
+  void visitSub40(Sub40 sub, Counter counter) {
+    sub.visitorDispatch40(counter);
+  }
+
+  @override
+  void visitSub41(Sub41 sub, Counter counter) {
+    sub.visitorDispatch41(counter);
+  }
+
+  @override
+  void visitSub42(Sub42 sub, Counter counter) {
+    sub.visitorDispatch42(counter);
+  }
+
+  @override
+  void visitSub43(Sub43 sub, Counter counter) {
+    sub.visitorDispatch43(counter);
+  }
+
+  @override
+  void visitSub44(Sub44 sub, Counter counter) {
+    sub.visitorDispatch44(counter);
+  }
+
+  @override
+  void visitSub45(Sub45 sub, Counter counter) {
+    sub.visitorDispatch45(counter);
+  }
+
+  @override
+  void visitSub46(Sub46 sub, Counter counter) {
+    sub.visitorDispatch46(counter);
+  }
+
+  @override
+  void visitSub47(Sub47 sub, Counter counter) {
+    sub.visitorDispatch47(counter);
+  }
+
+  @override
+  void visitSub48(Sub48 sub, Counter counter) {
+    sub.visitorDispatch48(counter);
+  }
+
+  @override
+  void visitSub49(Sub49 sub, Counter counter) {
+    sub.visitorDispatch49(counter);
+  }
+
+  @override
+  void visitSub50(Sub50 sub, Counter counter) {
+    sub.visitorDispatch50(counter);
+  }
+
+  @override
+  void visitSub51(Sub51 sub, Counter counter) {
+    sub.visitorDispatch51(counter);
+  }
+
+  @override
+  void visitSub52(Sub52 sub, Counter counter) {
+    sub.visitorDispatch52(counter);
+  }
+
+  @override
+  void visitSub53(Sub53 sub, Counter counter) {
+    sub.visitorDispatch53(counter);
+  }
+
+  @override
+  void visitSub54(Sub54 sub, Counter counter) {
+    sub.visitorDispatch54(counter);
+  }
+
+  @override
+  void visitSub55(Sub55 sub, Counter counter) {
+    sub.visitorDispatch55(counter);
+  }
+
+  @override
+  void visitSub56(Sub56 sub, Counter counter) {
+    sub.visitorDispatch56(counter);
+  }
+
+  @override
+  void visitSub57(Sub57 sub, Counter counter) {
+    sub.visitorDispatch57(counter);
+  }
+
+  @override
+  void visitSub58(Sub58 sub, Counter counter) {
+    sub.visitorDispatch58(counter);
+  }
+
+  @override
+  void visitSub59(Sub59 sub, Counter counter) {
+    sub.visitorDispatch59(counter);
+  }
+
+  @override
+  void visitSub60(Sub60 sub, Counter counter) {
+    sub.visitorDispatch60(counter);
+  }
+
+  @override
+  void visitSub61(Sub61 sub, Counter counter) {
+    sub.visitorDispatch61(counter);
+  }
+
+  @override
+  void visitSub62(Sub62 sub, Counter counter) {
+    sub.visitorDispatch62(counter);
+  }
+
+  @override
+  void visitSub63(Sub63 sub, Counter counter) {
+    sub.visitorDispatch63(counter);
+  }
+
+  @override
+  void visitSub64(Sub64 sub, Counter counter) {
+    sub.visitorDispatch64(counter);
+  }
+
+  @override
+  void visitSub65(Sub65 sub, Counter counter) {
+    sub.visitorDispatch65(counter);
+  }
+
+  @override
+  void visitSub66(Sub66 sub, Counter counter) {
+    sub.visitorDispatch66(counter);
+  }
+
+  @override
+  void visitSub67(Sub67 sub, Counter counter) {
+    sub.visitorDispatch67(counter);
+  }
+
+  @override
+  void visitSub68(Sub68 sub, Counter counter) {
+    sub.visitorDispatch68(counter);
+  }
+
+  @override
+  void visitSub69(Sub69 sub, Counter counter) {
+    sub.visitorDispatch69(counter);
+  }
+
+  @override
+  void visitSub70(Sub70 sub, Counter counter) {
+    sub.visitorDispatch70(counter);
+  }
+
+  @override
+  void visitSub71(Sub71 sub, Counter counter) {
+    sub.visitorDispatch71(counter);
+  }
+
+  @override
+  void visitSub72(Sub72 sub, Counter counter) {
+    sub.visitorDispatch72(counter);
+  }
+
+  @override
+  void visitSub73(Sub73 sub, Counter counter) {
+    sub.visitorDispatch73(counter);
+  }
+
+  @override
+  void visitSub74(Sub74 sub, Counter counter) {
+    sub.visitorDispatch74(counter);
+  }
+
+  @override
+  void visitSub75(Sub75 sub, Counter counter) {
+    sub.visitorDispatch75(counter);
+  }
+
+  @override
+  void visitSub76(Sub76 sub, Counter counter) {
+    sub.visitorDispatch76(counter);
+  }
+
+  @override
+  void visitSub77(Sub77 sub, Counter counter) {
+    sub.visitorDispatch77(counter);
+  }
+
+  @override
+  void visitSub78(Sub78 sub, Counter counter) {
+    sub.visitorDispatch78(counter);
+  }
+
+  @override
+  void visitSub79(Sub79 sub, Counter counter) {
+    sub.visitorDispatch79(counter);
+  }
+
+  @override
+  void visitSub80(Sub80 sub, Counter counter) {
+    sub.visitorDispatch80(counter);
+  }
+
+  @override
+  void visitSub81(Sub81 sub, Counter counter) {
+    sub.visitorDispatch81(counter);
+  }
+
+  @override
+  void visitSub82(Sub82 sub, Counter counter) {
+    sub.visitorDispatch82(counter);
+  }
+
+  @override
+  void visitSub83(Sub83 sub, Counter counter) {
+    sub.visitorDispatch83(counter);
+  }
+
+  @override
+  void visitSub84(Sub84 sub, Counter counter) {
+    sub.visitorDispatch84(counter);
+  }
+
+  @override
+  void visitSub85(Sub85 sub, Counter counter) {
+    sub.visitorDispatch85(counter);
+  }
+
+  @override
+  void visitSub86(Sub86 sub, Counter counter) {
+    sub.visitorDispatch86(counter);
+  }
+
+  @override
+  void visitSub87(Sub87 sub, Counter counter) {
+    sub.visitorDispatch87(counter);
+  }
+
+  @override
+  void visitSub88(Sub88 sub, Counter counter) {
+    sub.visitorDispatch88(counter);
+  }
+
+  @override
+  void visitSub89(Sub89 sub, Counter counter) {
+    sub.visitorDispatch89(counter);
+  }
+
+  @override
+  void visitSub90(Sub90 sub, Counter counter) {
+    sub.visitorDispatch90(counter);
+  }
+
+  @override
+  void visitSub91(Sub91 sub, Counter counter) {
+    sub.visitorDispatch91(counter);
+  }
+
+  @override
+  void visitSub92(Sub92 sub, Counter counter) {
+    sub.visitorDispatch92(counter);
+  }
+
+  @override
+  void visitSub93(Sub93 sub, Counter counter) {
+    sub.visitorDispatch93(counter);
+  }
+
+  @override
+  void visitSub94(Sub94 sub, Counter counter) {
+    sub.visitorDispatch94(counter);
+  }
+
+  @override
+  void visitSub95(Sub95 sub, Counter counter) {
+    sub.visitorDispatch95(counter);
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/test_datatypes.dart b/pkg/front_end/benchmarks/patterns/test_datatypes.dart
new file mode 100644
index 0000000..a559a2c
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/test_datatypes.dart
@@ -0,0 +1,137 @@
+// 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.14
+
+import 'util.dart';
+import 'generated/datatype.dart';
+
+typedef TestFunction<T> = void Function(T, Counter);
+typedef DataFunction = List<T> Function<T>(List<T>);
+
+class Counter {
+  int _value = 0;
+
+  int get value => _value;
+
+  void inc() {
+    _value++;
+  }
+}
+
+const Strategy ifThenElseStrategy = Strategy('if-then-else', '''
+Implements functionality in helper method. Invocation is done by an if-then-else
+sequence that uses is-tests to match functionality with subclasses.''');
+
+const Strategy dynamicDispatchStrategy = Strategy('dynamic-dispatch', '''
+Implements functionality by adding a method to each subclass that implements an
+interface method. Invocation is done as a dynamic dispatch on the interface 
+method.''');
+
+const Strategy visitorStrategy = Strategy('visitor', '''
+Implements functionality in helper method. Invocation is done by an if-then-else
+sequence that uses is-tests to match functionality with subclasses.''');
+
+const Scenario increasingScenario = Scenario('increasing', '''
+Implementation is called equally between all subclasses.''');
+// TODO(johnniwinther): Should Zipf's Law be used for 'first' and 'last'
+//  scenarios?
+const Scenario firstScenario = Scenario('first', '''
+Implementation is only called for the first two subclasses. For the 
+'if-then-else' strategy, this mimics when the order of the subclasses in the 
+if-then-else sequence aligns with the frequency of use, always finding a
+matching case early in the if-then-else sequence.''');
+const Scenario lastScenario = Scenario('last', '''
+Implementation is only called for the last two subclasses. For the 
+'if-then-else' strategy, this mimics when the order of the subclasses in the 
+if-then-else sequence *mis-aligns* with the frequency of use, always finding a
+matching case late in the if-then-else sequence.''');
+
+Map<Scenario, DataFunction> scenarios = {
+  increasingScenario: <T>(List<T> data) => data,
+  firstScenario: <T>(List<T> data) {
+    if (data.length < 2) {
+      return [data.first, data.first];
+    } else {
+      return data.take(2).toList();
+    }
+  },
+  lastScenario: <T>(List<T> data) {
+    if (data.length < 2) {
+      return [data.last, data.last];
+    } else {
+      return data.skip(data.length - 2).toList();
+    }
+  },
+};
+
+class Test<T> {
+  final int size;
+  final List<T> Function() createData;
+  final Map<Strategy, TestFunction<T>> strategies;
+
+  const Test(this.size, this.createData, this.strategies);
+
+  void _test(Registry registry, SeriesKey key, int runs, int iterations,
+      List<T> data, TestFunction<T> testFunction) {
+    int length = data.length;
+    for (int run = 0; run < runs; run++) {
+      Counter counter = new Counter();
+      Stopwatch sw = new Stopwatch();
+      for (int i = 0; i < iterations; i++) {
+        T value = data[i % length];
+        sw.start();
+        testFunction(value, counter);
+        sw.stop();
+      }
+      registry.registerData(key, size, sw.elapsedMicroseconds);
+      if (counter.value != iterations) {
+        throw 'Counter mismatch: '
+            'Expected $iterations, actual ${counter.value}';
+      }
+    }
+  }
+
+  void performTest(
+      {required Registry registry,
+      required int runs,
+      required int iterations,
+      required Map<Scenario, DataFunction> scenarios}) {
+    List<T> data = createData();
+    for (MapEntry<Scenario, DataFunction> scenario in scenarios.entries) {
+      List<T> scenarioData = scenario.value(data);
+      for (MapEntry<Strategy, TestFunction<T>> entry in strategies.entries) {
+        _test(registry, new SeriesKey(entry.key, scenario.key), runs,
+            iterations, scenarioData, entry.value);
+      }
+    }
+  }
+}
+
+void main() {
+  // Dry run
+  for (Test test in tests) {
+    test.performTest(
+        registry: new Registry(),
+        runs: 5,
+        iterations: 10,
+        scenarios: scenarios);
+  }
+  // Actual test
+  Registry registry = new Registry();
+  for (Test test in tests) {
+    test.performTest(
+        registry: registry, runs: 10, iterations: 100000, scenarios: scenarios);
+  }
+  SeriesSet seriesSet = registry.generateSeriesSet();
+  print('== Raw data ==');
+  for (Scenario scenario in scenarios.keys) {
+    print(seriesSet.getFullSpreadByScenario(scenario));
+  }
+  print('== Reduced averages ==');
+  SeriesSet reducedSeriesSet = seriesSet.filter((list) => removeMax(list, 3));
+  for (Scenario scenario in scenarios.keys) {
+    print(reducedSeriesSet.getAveragedSpreadByScenario(scenario));
+  }
+}
diff --git a/pkg/front_end/benchmarks/patterns/util.dart b/pkg/front_end/benchmarks/patterns/util.dart
new file mode 100644
index 0000000..6c7d3af
--- /dev/null
+++ b/pkg/front_end/benchmarks/patterns/util.dart
@@ -0,0 +1,233 @@
+// 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.
+
+import 'dart:math' as math;
+import '../../test/simple_stats.dart';
+
+/// Key used for a strategy in a test setup.
+class Strategy {
+  /// The short name of the strategy used in printouts.
+  final String name;
+
+  /// A full description of the strategy.
+  final String description;
+
+  const Strategy(this.name, this.description);
+
+  @override
+  int get hashCode => name.hashCode;
+
+  @override
+  bool operator ==(Object other) {
+    if (identical(this, other)) return true;
+    return other is Strategy && name == other.name;
+  }
+
+  @override
+  String toString() => 'Strategy($name)';
+}
+
+/// Key used for a scenario used when running a test.
+class Scenario {
+  /// The short name of the scenario used in printouts.
+  final String name;
+
+  /// A full description of the scenario.
+  final String description;
+
+  const Scenario(this.name, this.description);
+
+  @override
+  int get hashCode => name.hashCode;
+
+  @override
+  bool operator ==(Object other) {
+    if (identical(this, other)) return true;
+    return other is Scenario && name == other.name;
+  }
+
+  @override
+  String toString() => 'Strategy($name)';
+}
+
+/// The values that constitutes the input size values of the test.
+class XAxis {
+  final List<num> values;
+
+  XAxis(this.values);
+}
+
+/// Key for a strategy/scenario pair.
+class SeriesKey {
+  final Strategy strategy;
+  final Scenario scenario;
+
+  const SeriesKey(this.strategy, this.scenario);
+
+  @override
+  int get hashCode => strategy.hashCode * 13 + scenario.hashCode * 17;
+
+  @override
+  bool operator ==(Object other) {
+    if (identical(this, other)) return true;
+    return other is SeriesKey &&
+        strategy == other.strategy &&
+        scenario == other.scenario;
+  }
+
+  @override
+  String toString() => 'SeriesKey($strategy,$scenario)';
+}
+
+/// Data collected for running one strategy using one scenario.
+class Series {
+  /// The key that identifiers this series.
+  final SeriesKey key;
+
+  /// The x-axis values corresponding the [values].
+  final XAxis xAxis;
+
+  /// The measured values. The indices of the outer list corresponds to the
+  /// indices of the [xAxis]. The size of the inner list is the number
+  /// measurements performed for that x-value.
+  final List<List<num>> values;
+
+  Series(this.key, this.xAxis, this.values);
+
+  /// Returns a new [Series] where measurements have been removed using
+  /// [filter].
+  ///
+  /// This can for instance be used to remove outliers from the measurements.
+  Series filter(List<num> filter(List<num> list)) {
+    List<List<num>> filteredValues = [];
+    for (List<num> list in values) {
+      filteredValues.add(filter(list));
+    }
+    return new Series(key, xAxis, filteredValues);
+  }
+}
+
+/// A full set of series collected for a set of strategies and scenarios.
+class SeriesSet {
+  /// The shared x-axis of all series in [seriesList].
+  final XAxis xAxis;
+
+  /// All collected [Series].
+  final List<Series> seriesList;
+
+  SeriesSet(this.xAxis, this.seriesList);
+
+  /// Returns a new [SeriesSet] where measurements have been removed using
+  /// [filter].
+  ///
+  /// This can for instance be used to remove outliers from the measurements.
+  SeriesSet filter(List<num> filter(List<num> list)) {
+    List<Series> filteredSeries = [];
+    for (Series series in this.seriesList) {
+      filteredSeries.add(series.filter(filter));
+    }
+    return new SeriesSet(xAxis, filteredSeries);
+  }
+
+  /// Returns a tab-based table of the averages of all measurements for a given
+  /// [scenario].
+  String getAveragedSpreadByScenario(Scenario scenario) {
+    Map<Series, List<num>> stats = {};
+    for (Series series in this.seriesList) {
+      if (series.key.scenario != scenario) continue;
+      stats[series] = series.values
+          .map((data) => SimpleTTestStat.average(data))
+          .toList(growable: false);
+    }
+    StringBuffer sb = new StringBuffer();
+    sb.write(scenario.name);
+    for (Series series in stats.keys) {
+      sb.write('\t${series.key.strategy.name}');
+    }
+    sb.writeln();
+    for (int index = 0; index < xAxis.values.length; index++) {
+      sb.write(xAxis.values[index]);
+      for (List<num> stat in stats.values) {
+        sb.write('\t');
+        sb.write(stat[index]);
+      }
+      sb.writeln();
+    }
+    return sb.toString();
+  }
+
+  /// Returns a tab-based table of all measurements for a given [scenario].
+  String getFullSpreadByScenario(Scenario scenario) {
+    List<Series> seriesList = [];
+    for (Series series in this.seriesList) {
+      if (series.key.scenario != scenario) continue;
+      seriesList.add(series);
+    }
+    StringBuffer sb = new StringBuffer();
+    sb.write(scenario.name);
+    for (Series series in seriesList) {
+      int columns = series.values.map((l) => l.length).reduce(math.max);
+      sb.write('\t${series.key.strategy.name}');
+      for (int i = 0; i < columns; i++) {
+        sb.write('\t');
+      }
+    }
+    sb.writeln();
+    for (int index = 0; index < xAxis.values.length; index++) {
+      sb.write(xAxis.values[index]);
+      for (Series series in seriesList) {
+        List<num> values = series.values[index];
+        for (int i = 0; i < values.length; i++) {
+          sb.write('\t${values[i]}');
+        }
+      }
+      sb.writeln();
+    }
+    return sb.toString();
+  }
+}
+
+/// Registry used to collect data during measurement.
+class Registry {
+  final Set<num> _xAxisSet = {};
+  final Map<SeriesKey, Map<num, List<num>>> _seriesMap = {};
+
+  /// Registers the measurement of [y] for the given [x] value under the
+  /// strategy/scenario defined by [key].
+  void registerData(SeriesKey key, num x, num y) {
+    _xAxisSet.add(x);
+    ((_seriesMap[key] ??= {})[x] ??= []).add(y);
+  }
+
+  /// Generates [SeriesSet] for all collected measurements.
+  SeriesSet generateSeriesSet() {
+    XAxis xAxis = new XAxis(_xAxisSet.toList(growable: false)..sort());
+    List<Series> series = [];
+    for (MapEntry<SeriesKey, Map<num, List<num>>> entry in _seriesMap.entries) {
+      SeriesKey key = entry.key;
+      Map<num, List<num>> valuesMap = entry.value;
+      List<List<num>> values = [];
+      for (num x in xAxis.values) {
+        values.add(valuesMap[x] ?? []);
+      }
+      series.add(new Series(key, xAxis, values));
+    }
+    _xAxisSet.clear();
+    _seriesMap.clear();
+    return new SeriesSet(xAxis, series);
+  }
+}
+
+/// Filter function that removes the max [removeMaxCount] values from a list.
+///
+/// This can be used in [Series.filter] and [SeriesSet.filter] to remove
+/// outliers from a set of measurements.
+List<num> removeMax(List<num> list, int removeMaxCount) {
+  if (removeMaxCount == 0) return list;
+  List<num> copy = list.toList()..sort();
+  for (int i = 0; i < removeMaxCount; i++) {
+    copy.removeLast();
+  }
+  return copy;
+}
diff --git a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
index 87a0d06..2e8000f 100644
--- a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
@@ -6655,7 +6655,7 @@
             isLowered: true)
           ..fileOffset = fileOffset;
         VariableDeclaration setterParameter =
-            new VariableDeclaration(null, type: node.type)
+            new VariableDeclaration("${node.name}#param", type: node.type)
               ..fileOffset = fileOffset;
         FunctionDeclaration setter = new FunctionDeclaration(
                 setVariable,
diff --git a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
index 377b82c..5a71d1b 100644
--- a/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_field_builder.dart
@@ -961,7 +961,7 @@
       {required bool isCovariantByDeclaration}) {
     // ignore: unnecessary_null_comparison
     assert(isCovariantByDeclaration != null);
-    VariableDeclaration parameter = new VariableDeclaration(null)
+    VariableDeclaration parameter = new VariableDeclaration("${name}#param")
       ..isCovariantByDeclaration = isCovariantByDeclaration
       ..fileOffset = fileOffset;
     return new Procedure(
diff --git a/pkg/front_end/test/simple_stats.dart b/pkg/front_end/test/simple_stats.dart
index 6a94bbe..ac2e12e 100644
--- a/pkg/front_end/test/simple_stats.dart
+++ b/pkg/front_end/test/simple_stats.dart
@@ -34,6 +34,11 @@
     }
   }
 
+  static double average<E extends num>(List<E> data) {
+    E sum = data.reduce((value, element) => (value + element) as E);
+    return sum / data.length;
+  }
+
   static double variance<E extends num>(List<E> data) {
     E sum = data.reduce((value, element) => (value + element) as E);
     int count = data.length;
diff --git a/pkg/front_end/test/spell_checking_list_tests.txt b/pkg/front_end/test/spell_checking_list_tests.txt
index 5452103..97ef414 100644
--- a/pkg/front_end/test/spell_checking_list_tests.txt
+++ b/pkg/front_end/test/spell_checking_list_tests.txt
@@ -24,6 +24,7 @@
 adopted
 advantages
 albeit
+aligns
 allocations
 allowlist
 allowlisting
@@ -51,6 +52,8 @@
 authority
 autobianchi
 automatic
+averaged
+averages
 axis
 b0x
 b1x
@@ -252,6 +255,8 @@
 darttest
 dash
 dashes
+datatype
+datatypes
 day
 days
 db
@@ -306,6 +311,7 @@
 doo
 downstream
 draw
+dry
 dsemi
 dumping
 dumps
@@ -329,6 +335,7 @@
 entrypoints
 eoo
 epoch
+equally
 equivalences
 erase
 erased
@@ -454,6 +461,7 @@
 forty
 foundation
 fox
+frequency
 frozen
 fulfill
 func
@@ -539,6 +547,7 @@
 inclosure
 inconsistencies
 increased
+increasing
 incrementally
 increments
 indents
@@ -599,6 +608,7 @@
 la
 launch
 launching
+law
 layered
 layers
 le
@@ -656,6 +666,7 @@
 mds
 meaningless
 measured
+measurement
 method1d
 metric
 metrics
@@ -668,6 +679,7 @@
 minst
 mintty
 minutes
+mis
 mismatched
 misnamed
 miss
@@ -726,6 +738,7 @@
 out1
 out2
 outbound
+outliers
 outlined
 overhead
 overlay
@@ -758,6 +771,7 @@
 prematurely
 press
 pretends
+printouts
 processes
 processors
 producer
@@ -846,6 +860,7 @@
 sanitize
 saves
 scans
+scenarios
 scheduler
 screen
 scripts
@@ -858,6 +873,7 @@
 selection
 semifuzz
 sensitive
+series
 serves
 services
 setter1a
@@ -1047,5 +1063,6 @@
 year
 yxxx
 yy
+zipf's
 zyx
 zz
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.1.expect
index 5293243..29c46d4 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.1.expect
@@ -28,34 +28,34 @@
       }
       return this.{main::C::_#C#field5}{dart.core::int?};
     }
-    set field5(dart.core::int? #t1) → void {
+    set field5(dart.core::int? field5#param) → void {
       this.{main::C::_#C#field5#isSet} = true;
-      this.{main::C::_#C#field5} = #t1;
+      this.{main::C::_#C#field5} = field5#param;
     }
     get field6() → dart.core::int?
       return this.{main::C::_#C#field6#isSet}{dart.core::bool} ?{dart.core::int?} this.{main::C::_#C#field6}{dart.core::int?} : throw new dart._internal::LateError::fieldNI("field6");
-    set field6(dart.core::int? #t2) → void {
+    set field6(dart.core::int? field6#param) → void {
       this.{main::C::_#C#field6#isSet} = true;
-      this.{main::C::_#C#field6} = #t2;
+      this.{main::C::_#C#field6} = field6#param;
     }
     get field7() → dart.core::int? {
       if(!this.{main::C::_#C#field7#isSet}{dart.core::bool}) {
-        final dart.core::int? #t3 = 42;
+        final dart.core::int? #t1 = 42;
         if(this.{main::C::_#C#field7#isSet}{dart.core::bool})
           throw new dart._internal::LateError::fieldADI("field7");
-        this.{main::C::_#C#field7} = #t3;
+        this.{main::C::_#C#field7} = #t1;
         this.{main::C::_#C#field7#isSet} = true;
       }
       return this.{main::C::_#C#field7}{dart.core::int?};
     }
     get field8() → dart.core::int?
       return this.{main::C::_#C#field8#isSet}{dart.core::bool} ?{dart.core::int?} this.{main::C::_#C#field8}{dart.core::int?} : throw new dart._internal::LateError::fieldNI("field8");
-    set field8(dart.core::int? #t4) → void
+    set field8(dart.core::int? field8#param) → void
       if(this.{main::C::_#C#field8#isSet}{dart.core::bool})
         throw new dart._internal::LateError::fieldAI("field8");
       else {
         this.{main::C::_#C#field8#isSet} = true;
-        this.{main::C::_#C#field8} = #t4;
+        this.{main::C::_#C#field8} = field8#param;
       }
     static get field9() → dart.core::int? {
       if(!main::C::_#field9#isSet) {
@@ -64,34 +64,34 @@
       }
       return main::C::_#field9;
     }
-    static set field9(dart.core::int? #t5) → void {
+    static set field9(dart.core::int? field9#param) → void {
       main::C::_#field9#isSet = true;
-      main::C::_#field9 = #t5;
+      main::C::_#field9 = field9#param;
     }
     static get field10() → dart.core::int?
       return main::C::_#field10#isSet ?{dart.core::int?} main::C::_#field10 : throw new dart._internal::LateError::fieldNI("field10");
-    static set field10(dart.core::int? #t6) → void {
+    static set field10(dart.core::int? field10#param) → void {
       main::C::_#field10#isSet = true;
-      main::C::_#field10 = #t6;
+      main::C::_#field10 = field10#param;
     }
     static get field11() → dart.core::int? {
       if(!main::C::_#field11#isSet) {
-        final dart.core::int? #t7 = 42;
+        final dart.core::int? #t2 = 42;
         if(main::C::_#field11#isSet)
           throw new dart._internal::LateError::fieldADI("field11");
-        main::C::_#field11 = #t7;
+        main::C::_#field11 = #t2;
         main::C::_#field11#isSet = true;
       }
       return main::C::_#field11;
     }
     static get field12() → dart.core::int?
       return main::C::_#field12#isSet ?{dart.core::int?} main::C::_#field12 : throw new dart._internal::LateError::fieldNI("field12");
-    static set field12(dart.core::int? #t8) → void
+    static set field12(dart.core::int? field12#param) → void
       if(main::C::_#field12#isSet)
         throw new dart._internal::LateError::fieldAI("field12");
       else {
         main::C::_#field12#isSet = true;
-        main::C::_#field12 = #t8;
+        main::C::_#field12 = field12#param;
       }
   }
   static field dart.core::int? _#field1 = null;
@@ -109,34 +109,34 @@
     }
     return main::_#field1;
   }
-  static set field1(dart.core::int? #t9) → void {
+  static set field1(dart.core::int? field1#param) → void {
     main::_#field1#isSet = true;
-    main::_#field1 = #t9;
+    main::_#field1 = field1#param;
   }
   static get field2() → dart.core::int?
     return main::_#field2#isSet ?{dart.core::int?} main::_#field2 : throw new dart._internal::LateError::fieldNI("field2");
-  static set field2(dart.core::int? #t10) → void {
+  static set field2(dart.core::int? field2#param) → void {
     main::_#field2#isSet = true;
-    main::_#field2 = #t10;
+    main::_#field2 = field2#param;
   }
   static get field3() → dart.core::int? {
     if(!main::_#field3#isSet) {
-      final dart.core::int? #t11 = 42;
+      final dart.core::int? #t3 = 42;
       if(main::_#field3#isSet)
         throw new dart._internal::LateError::fieldADI("field3");
-      main::_#field3 = #t11;
+      main::_#field3 = #t3;
       main::_#field3#isSet = true;
     }
     return main::_#field3;
   }
   static get field4() → dart.core::int?
     return main::_#field4#isSet ?{dart.core::int?} main::_#field4 : throw new dart._internal::LateError::fieldNI("field4");
-  static set field4(dart.core::int? #t12) → void
+  static set field4(dart.core::int? field4#param) → void
     if(main::_#field4#isSet)
       throw new dart._internal::LateError::fieldAI("field4");
     else {
       main::_#field4#isSet = true;
-      main::_#field4 = #t12;
+      main::_#field4 = field4#param;
     }
   static method main() → dynamic {
     main::field1 = 43;
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.2.expect
index 20d8f89..5390040 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_29.yaml.world.2.expect
@@ -28,34 +28,34 @@
       }
       return this.{main::C::_#C#field5}{dart.core::int?};
     }
-    set field5(dart.core::int? #t1) → void {
+    set field5(dart.core::int? field5#param) → void {
       this.{main::C::_#C#field5#isSet} = true;
-      this.{main::C::_#C#field5} = #t1;
+      this.{main::C::_#C#field5} = field5#param;
     }
     get field6() → dart.core::int?
       return this.{main::C::_#C#field6#isSet}{dart.core::bool} ?{dart.core::int?} this.{main::C::_#C#field6}{dart.core::int?} : throw new dart._internal::LateError::fieldNI("field6");
-    set field6(dart.core::int? #t2) → void {
+    set field6(dart.core::int? field6#param) → void {
       this.{main::C::_#C#field6#isSet} = true;
-      this.{main::C::_#C#field6} = #t2;
+      this.{main::C::_#C#field6} = field6#param;
     }
     get field7() → dart.core::int? {
       if(!this.{main::C::_#C#field7#isSet}{dart.core::bool}) {
-        final dart.core::int? #t3 = 42;
+        final dart.core::int? #t1 = 42;
         if(this.{main::C::_#C#field7#isSet}{dart.core::bool})
           throw new dart._internal::LateError::fieldADI("field7");
-        this.{main::C::_#C#field7} = #t3;
+        this.{main::C::_#C#field7} = #t1;
         this.{main::C::_#C#field7#isSet} = true;
       }
       return this.{main::C::_#C#field7}{dart.core::int?};
     }
     get field8() → dart.core::int?
       return this.{main::C::_#C#field8#isSet}{dart.core::bool} ?{dart.core::int?} this.{main::C::_#C#field8}{dart.core::int?} : throw new dart._internal::LateError::fieldNI("field8");
-    set field8(dart.core::int? #t4) → void
+    set field8(dart.core::int? field8#param) → void
       if(this.{main::C::_#C#field8#isSet}{dart.core::bool})
         throw new dart._internal::LateError::fieldAI("field8");
       else {
         this.{main::C::_#C#field8#isSet} = true;
-        this.{main::C::_#C#field8} = #t4;
+        this.{main::C::_#C#field8} = field8#param;
       }
     static get field9() → dart.core::int? {
       if(!main::C::_#field9#isSet) {
@@ -64,34 +64,34 @@
       }
       return main::C::_#field9;
     }
-    static set field9(dart.core::int? #t5) → void {
+    static set field9(dart.core::int? field9#param) → void {
       main::C::_#field9#isSet = true;
-      main::C::_#field9 = #t5;
+      main::C::_#field9 = field9#param;
     }
     static get field10() → dart.core::int?
       return main::C::_#field10#isSet ?{dart.core::int?} main::C::_#field10 : throw new dart._internal::LateError::fieldNI("field10");
-    static set field10(dart.core::int? #t6) → void {
+    static set field10(dart.core::int? field10#param) → void {
       main::C::_#field10#isSet = true;
-      main::C::_#field10 = #t6;
+      main::C::_#field10 = field10#param;
     }
     static get field11() → dart.core::int? {
       if(!main::C::_#field11#isSet) {
-        final dart.core::int? #t7 = 42;
+        final dart.core::int? #t2 = 42;
         if(main::C::_#field11#isSet)
           throw new dart._internal::LateError::fieldADI("field11");
-        main::C::_#field11 = #t7;
+        main::C::_#field11 = #t2;
         main::C::_#field11#isSet = true;
       }
       return main::C::_#field11;
     }
     static get field12() → dart.core::int?
       return main::C::_#field12#isSet ?{dart.core::int?} main::C::_#field12 : throw new dart._internal::LateError::fieldNI("field12");
-    static set field12(dart.core::int? #t8) → void
+    static set field12(dart.core::int? field12#param) → void
       if(main::C::_#field12#isSet)
         throw new dart._internal::LateError::fieldAI("field12");
       else {
         main::C::_#field12#isSet = true;
-        main::C::_#field12 = #t8;
+        main::C::_#field12 = field12#param;
       }
   }
   static field dart.core::int? _#field1 = null;
@@ -109,34 +109,34 @@
     }
     return main::_#field1;
   }
-  static set field1(dart.core::int? #t9) → void {
+  static set field1(dart.core::int? field1#param) → void {
     main::_#field1#isSet = true;
-    main::_#field1 = #t9;
+    main::_#field1 = field1#param;
   }
   static get field2() → dart.core::int?
     return main::_#field2#isSet ?{dart.core::int?} main::_#field2 : throw new dart._internal::LateError::fieldNI("field2");
-  static set field2(dart.core::int? #t10) → void {
+  static set field2(dart.core::int? field2#param) → void {
     main::_#field2#isSet = true;
-    main::_#field2 = #t10;
+    main::_#field2 = field2#param;
   }
   static get field3() → dart.core::int? {
     if(!main::_#field3#isSet) {
-      final dart.core::int? #t11 = 42;
+      final dart.core::int? #t3 = 42;
       if(main::_#field3#isSet)
         throw new dart._internal::LateError::fieldADI("field3");
-      main::_#field3 = #t11;
+      main::_#field3 = #t3;
       main::_#field3#isSet = true;
     }
     return main::_#field3;
   }
   static get field4() → dart.core::int?
     return main::_#field4#isSet ?{dart.core::int?} main::_#field4 : throw new dart._internal::LateError::fieldNI("field4");
-  static set field4(dart.core::int? #t12) → void
+  static set field4(dart.core::int? field4#param) → void
     if(main::_#field4#isSet)
       throw new dart._internal::LateError::fieldAI("field4");
     else {
       main::_#field4#isSet = true;
-      main::_#field4 = #t12;
+      main::_#field4 = field4#param;
     }
   static method main() → dynamic {
     main::field1 = 44;
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.1.expect
index e94d83d..374b144 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.1.expect
@@ -46,34 +46,34 @@
     }
     return main::_#field1;
   }
-  static set field1(dart.core::int? #t1) → void {
+  static set field1(dart.core::int? field1#param) → void {
     main::_#field1#isSet = true;
-    main::_#field1 = #t1;
+    main::_#field1 = field1#param;
   }
   static get field2() → dart.core::int?
     return main::_#field2#isSet ?{dart.core::int?} main::_#field2 : throw new dart._internal::LateError::fieldNI("field2");
-  static set field2(dart.core::int? #t2) → void {
+  static set field2(dart.core::int? field2#param) → void {
     main::_#field2#isSet = true;
-    main::_#field2 = #t2;
+    main::_#field2 = field2#param;
   }
   static get field3() → dart.core::int? {
     if(!main::_#field3#isSet) {
-      final dart.core::int? #t3 = 42;
+      final dart.core::int? #t1 = 42;
       if(main::_#field3#isSet)
         throw new dart._internal::LateError::fieldADI("field3");
-      main::_#field3 = #t3;
+      main::_#field3 = #t1;
       main::_#field3#isSet = true;
     }
     return main::_#field3;
   }
   static get field4() → dart.core::int?
     return main::_#field4#isSet ?{dart.core::int?} main::_#field4 : throw new dart._internal::LateError::fieldNI("field4");
-  static set field4(dart.core::int? #t4) → void
+  static set field4(dart.core::int? field4#param) → void
     if(main::_#field4#isSet)
       throw new dart._internal::LateError::fieldAI("field4");
     else {
       main::_#field4#isSet = true;
-      main::_#field4 = #t4;
+      main::_#field4 = field4#param;
     }
   static get _extension#0|field5() → dart.core::int? {
     if(!main::_#_extension#0|field5#isSet) {
@@ -82,34 +82,34 @@
     }
     return main::_#_extension#0|field5;
   }
-  static set _extension#0|field5(dart.core::int? #t5) → void {
+  static set _extension#0|field5(dart.core::int? library org-dartlang-test:///main.dart::_extension#0|field5#param) → void {
     main::_#_extension#0|field5#isSet = true;
-    main::_#_extension#0|field5 = #t5;
+    main::_#_extension#0|field5 = library org-dartlang-test:///main.dart::_extension#0|field5#param;
   }
   static get _extension#0|field6() → dart.core::int?
     return main::_#_extension#0|field6#isSet ?{dart.core::int?} main::_#_extension#0|field6 : throw new dart._internal::LateError::fieldNI("field6");
-  static set _extension#0|field6(dart.core::int? #t6) → void {
+  static set _extension#0|field6(dart.core::int? library org-dartlang-test:///main.dart::_extension#0|field6#param) → void {
     main::_#_extension#0|field6#isSet = true;
-    main::_#_extension#0|field6 = #t6;
+    main::_#_extension#0|field6 = library org-dartlang-test:///main.dart::_extension#0|field6#param;
   }
   static get _extension#0|field7() → dart.core::int? {
     if(!main::_#_extension#0|field7#isSet) {
-      final dart.core::int? #t7 = 42;
+      final dart.core::int? #t2 = 42;
       if(main::_#_extension#0|field7#isSet)
         throw new dart._internal::LateError::fieldADI("field7");
-      main::_#_extension#0|field7 = #t7;
+      main::_#_extension#0|field7 = #t2;
       main::_#_extension#0|field7#isSet = true;
     }
     return main::_#_extension#0|field7;
   }
   static get _extension#0|field8() → dart.core::int?
     return main::_#_extension#0|field8#isSet ?{dart.core::int?} main::_#_extension#0|field8 : throw new dart._internal::LateError::fieldNI("field8");
-  static set _extension#0|field8(dart.core::int? #t8) → void
+  static set _extension#0|field8(dart.core::int? library org-dartlang-test:///main.dart::_extension#0|field8#param) → void
     if(main::_#_extension#0|field8#isSet)
       throw new dart._internal::LateError::fieldAI("field8");
     else {
       main::_#_extension#0|field8#isSet = true;
-      main::_#_extension#0|field8 = #t8;
+      main::_#_extension#0|field8 = library org-dartlang-test:///main.dart::_extension#0|field8#param;
     }
   static method main() → dynamic {
     main::field1 = 43;
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.2.expect
index 94a763e..65c62a4 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_31.yaml.world.2.expect
@@ -46,34 +46,34 @@
     }
     return main::_#field1;
   }
-  static set field1(dart.core::int? #t1) → void {
+  static set field1(dart.core::int? field1#param) → void {
     main::_#field1#isSet = true;
-    main::_#field1 = #t1;
+    main::_#field1 = field1#param;
   }
   static get field2() → dart.core::int?
     return main::_#field2#isSet ?{dart.core::int?} main::_#field2 : throw new dart._internal::LateError::fieldNI("field2");
-  static set field2(dart.core::int? #t2) → void {
+  static set field2(dart.core::int? field2#param) → void {
     main::_#field2#isSet = true;
-    main::_#field2 = #t2;
+    main::_#field2 = field2#param;
   }
   static get field3() → dart.core::int? {
     if(!main::_#field3#isSet) {
-      final dart.core::int? #t3 = 42;
+      final dart.core::int? #t1 = 42;
       if(main::_#field3#isSet)
         throw new dart._internal::LateError::fieldADI("field3");
-      main::_#field3 = #t3;
+      main::_#field3 = #t1;
       main::_#field3#isSet = true;
     }
     return main::_#field3;
   }
   static get field4() → dart.core::int?
     return main::_#field4#isSet ?{dart.core::int?} main::_#field4 : throw new dart._internal::LateError::fieldNI("field4");
-  static set field4(dart.core::int? #t4) → void
+  static set field4(dart.core::int? field4#param) → void
     if(main::_#field4#isSet)
       throw new dart._internal::LateError::fieldAI("field4");
     else {
       main::_#field4#isSet = true;
-      main::_#field4 = #t4;
+      main::_#field4 = field4#param;
     }
   static get _extension#0|field5() → dart.core::int? {
     if(!main::_#_extension#0|field5#isSet) {
@@ -82,34 +82,34 @@
     }
     return main::_#_extension#0|field5;
   }
-  static set _extension#0|field5(dart.core::int? #t5) → void {
+  static set _extension#0|field5(dart.core::int? library org-dartlang-test:///main.dart::_extension#0|field5#param) → void {
     main::_#_extension#0|field5#isSet = true;
-    main::_#_extension#0|field5 = #t5;
+    main::_#_extension#0|field5 = library org-dartlang-test:///main.dart::_extension#0|field5#param;
   }
   static get _extension#0|field6() → dart.core::int?
     return main::_#_extension#0|field6#isSet ?{dart.core::int?} main::_#_extension#0|field6 : throw new dart._internal::LateError::fieldNI("field6");
-  static set _extension#0|field6(dart.core::int? #t6) → void {
+  static set _extension#0|field6(dart.core::int? library org-dartlang-test:///main.dart::_extension#0|field6#param) → void {
     main::_#_extension#0|field6#isSet = true;
-    main::_#_extension#0|field6 = #t6;
+    main::_#_extension#0|field6 = library org-dartlang-test:///main.dart::_extension#0|field6#param;
   }
   static get _extension#0|field7() → dart.core::int? {
     if(!main::_#_extension#0|field7#isSet) {
-      final dart.core::int? #t7 = 42;
+      final dart.core::int? #t2 = 42;
       if(main::_#_extension#0|field7#isSet)
         throw new dart._internal::LateError::fieldADI("field7");
-      main::_#_extension#0|field7 = #t7;
+      main::_#_extension#0|field7 = #t2;
       main::_#_extension#0|field7#isSet = true;
     }
     return main::_#_extension#0|field7;
   }
   static get _extension#0|field8() → dart.core::int?
     return main::_#_extension#0|field8#isSet ?{dart.core::int?} main::_#_extension#0|field8 : throw new dart._internal::LateError::fieldNI("field8");
-  static set _extension#0|field8(dart.core::int? #t8) → void
+  static set _extension#0|field8(dart.core::int? library org-dartlang-test:///main.dart::_extension#0|field8#param) → void
     if(main::_#_extension#0|field8#isSet)
       throw new dart._internal::LateError::fieldAI("field8");
     else {
       main::_#_extension#0|field8#isSet = true;
-      main::_#_extension#0|field8 = #t8;
+      main::_#_extension#0|field8 = library org-dartlang-test:///main.dart::_extension#0|field8#param;
     }
   static method main() → dynamic {
     main::field1 = 44;
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.1.expect b/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.1.expect
index bfa9c36..b6fc3dc 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.1.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.1.expect
@@ -5,9 +5,9 @@
   static field dart.core::bool _#field#isSet = false;
   static get field() → dart.core::int
     return lib1::_#field#isSet ?{dart.core::int} let final dart.core::int? #t1 = lib1::_#field in #t1{dart.core::int} : throw new dart._internal::LateError::fieldNI("field");
-  static set field(dart.core::int #t2) → void {
+  static set field(dart.core::int field#param) → void {
     lib1::_#field#isSet = true;
-    lib1::_#field = #t2;
+    lib1::_#field = field#param;
   }
   static method method() → dynamic {
     dart.core::print("foo");
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.2.expect b/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.2.expect
index 20aeb39..47febef 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.2.expect
@@ -5,9 +5,9 @@
   static field dart.core::bool _#field#isSet = false;
   static get field() → dart.core::int
     return lib1::_#field#isSet ?{dart.core::int} let final dart.core::int? #t1 = lib1::_#field in #t1{dart.core::int} : throw new dart._internal::LateError::fieldNI("field");
-  static set field(dart.core::int #t2) → void {
+  static set field(dart.core::int field#param) → void {
     lib1::_#field#isSet = true;
-    lib1::_#field = #t2;
+    lib1::_#field = field#param;
   }
   static method method() → dynamic {
     dart.core::print("foo");
diff --git a/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.3.expect b/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.3.expect
index c5f9982..c6a44c1 100644
--- a/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/no_outline_change_41.yaml.world.3.expect
@@ -5,9 +5,9 @@
   static field dart.core::bool _#field#isSet = false;
   static get field() → dart.core::int
     return lib1::_#field#isSet ?{dart.core::int} let final dart.core::int? #t1 = lib1::_#field in #t1{dart.core::int} : throw new dart._internal::LateError::fieldNI("field");
-  static set field(dart.core::int #t2) → void {
+  static set field(dart.core::int field#param) → void {
     lib1::_#field#isSet = true;
-    lib1::_#field = #t2;
+    lib1::_#field = field#param;
   }
   static method method() → dynamic {
     dart.core::print("bar");
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect b/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect
index 844cd74..903cf4e 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.strong.expect
@@ -14,17 +14,17 @@
   lowered core::int? #local1;
   function #local1#get() → core::int
     return let final core::int? #t1 = #local1 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local1") : #t1{core::int};
-  function #local1#set(core::int #t2) → dynamic
-    return #local1 = #t2;
+  function #local1#set(core::int local1#param) → dynamic
+    return #local1 = local1#param;
   #local1#set(0){(core::int) → dynamic};
   self::expect(0, #local1#get(){() → core::int});
   #local1#set(#local1#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
   self::expect(2, #local1#get(){() → core::int});
   lowered core::int? #local2;
   function #local2#get() → core::int
-    return let final core::int? #t3 = #local2 in #t3 == null ?{core::int} #local2 = 1 : #t3{core::int};
-  function #local2#set(core::int #t4) → dynamic
-    return #local2 = #t4;
+    return let final core::int? #t2 = #local2 in #t2 == null ?{core::int} #local2 = 1 : #t2{core::int};
+  function #local2#set(core::int local2#param) → dynamic
+    return #local2 = local2#param;
   self::expect(1, #local2#get(){() → core::int});
   #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
   self::expect(3, #local2#get(){() → core::int});
@@ -32,10 +32,10 @@
 static method error() → dynamic {
   lowered final core::int? #local;
   function #local#get() → core::int
-    return let final core::int? #t5 = #local in #t5 == null ?{core::int} throw new _in::LateError::localNI("local") : #t5{core::int};
-  function #local#set(core::int #t6) → dynamic
+    return let final core::int? #t3 = #local in #t3 == null ?{core::int} throw new _in::LateError::localNI("local") : #t3{core::int};
+  function #local#set(core::int local#param) → dynamic
     if(#local == null)
-      return #local = #t6;
+      return #local = local#param;
     else
       throw new _in::LateError::localAI("local");
   #local#set(invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect
index 844cd74..903cf4e 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.strong.transformed.expect
@@ -14,17 +14,17 @@
   lowered core::int? #local1;
   function #local1#get() → core::int
     return let final core::int? #t1 = #local1 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local1") : #t1{core::int};
-  function #local1#set(core::int #t2) → dynamic
-    return #local1 = #t2;
+  function #local1#set(core::int local1#param) → dynamic
+    return #local1 = local1#param;
   #local1#set(0){(core::int) → dynamic};
   self::expect(0, #local1#get(){() → core::int});
   #local1#set(#local1#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
   self::expect(2, #local1#get(){() → core::int});
   lowered core::int? #local2;
   function #local2#get() → core::int
-    return let final core::int? #t3 = #local2 in #t3 == null ?{core::int} #local2 = 1 : #t3{core::int};
-  function #local2#set(core::int #t4) → dynamic
-    return #local2 = #t4;
+    return let final core::int? #t2 = #local2 in #t2 == null ?{core::int} #local2 = 1 : #t2{core::int};
+  function #local2#set(core::int local2#param) → dynamic
+    return #local2 = local2#param;
   self::expect(1, #local2#get(){() → core::int});
   #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
   self::expect(3, #local2#get(){() → core::int});
@@ -32,10 +32,10 @@
 static method error() → dynamic {
   lowered final core::int? #local;
   function #local#get() → core::int
-    return let final core::int? #t5 = #local in #t5 == null ?{core::int} throw new _in::LateError::localNI("local") : #t5{core::int};
-  function #local#set(core::int #t6) → dynamic
+    return let final core::int? #t3 = #local in #t3 == null ?{core::int} throw new _in::LateError::localNI("local") : #t3{core::int};
+  function #local#set(core::int local#param) → dynamic
     if(#local == null)
-      return #local = #t6;
+      return #local = local#param;
     else
       throw new _in::LateError::localAI("local");
   #local#set(invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect b/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect
index eb987a6..1092991 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.weak.expect
@@ -15,9 +15,9 @@
   lowered core::bool #local1#isSet = false;
   function #local1#get() → core::int
     return #local1#isSet ?{core::int} #local1{core::int} : throw new _in::LateError::localNI("local1");
-  function #local1#set(core::int #t1) → dynamic {
+  function #local1#set(core::int local1#param) → dynamic {
     #local1#isSet = true;
-    return #local1 = #t1;
+    return #local1 = local1#param;
   }
   #local1#set(0){(core::int) → dynamic};
   self::expect(0, #local1#get(){() → core::int});
@@ -32,9 +32,9 @@
     }
     return #local2{core::int};
   }
-  function #local2#set(core::int #t2) → dynamic {
+  function #local2#set(core::int local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t2;
+    return #local2 = local2#param;
   }
   self::expect(1, #local2#get(){() → core::int});
   #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
@@ -45,12 +45,12 @@
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t3) → dynamic
+  function #local#set(core::int local#param) → dynamic
     if(#local#isSet)
       throw new _in::LateError::localAI("local");
     else {
       #local#isSet = true;
-      return #local = #t3;
+      return #local = local#param;
     }
   #local#set(invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
   local += 0;
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/compound.dart.weak.modular.expect
index eb987a6..1092991 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.weak.modular.expect
@@ -15,9 +15,9 @@
   lowered core::bool #local1#isSet = false;
   function #local1#get() → core::int
     return #local1#isSet ?{core::int} #local1{core::int} : throw new _in::LateError::localNI("local1");
-  function #local1#set(core::int #t1) → dynamic {
+  function #local1#set(core::int local1#param) → dynamic {
     #local1#isSet = true;
-    return #local1 = #t1;
+    return #local1 = local1#param;
   }
   #local1#set(0){(core::int) → dynamic};
   self::expect(0, #local1#get(){() → core::int});
@@ -32,9 +32,9 @@
     }
     return #local2{core::int};
   }
-  function #local2#set(core::int #t2) → dynamic {
+  function #local2#set(core::int local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t2;
+    return #local2 = local2#param;
   }
   self::expect(1, #local2#get(){() → core::int});
   #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
@@ -45,12 +45,12 @@
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t3) → dynamic
+  function #local#set(core::int local#param) → dynamic
     if(#local#isSet)
       throw new _in::LateError::localAI("local");
     else {
       #local#isSet = true;
-      return #local = #t3;
+      return #local = local#param;
     }
   #local#set(invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
   local += 0;
diff --git a/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect
index eb987a6..1092991 100644
--- a/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/compound.dart.weak.transformed.expect
@@ -15,9 +15,9 @@
   lowered core::bool #local1#isSet = false;
   function #local1#get() → core::int
     return #local1#isSet ?{core::int} #local1{core::int} : throw new _in::LateError::localNI("local1");
-  function #local1#set(core::int #t1) → dynamic {
+  function #local1#set(core::int local1#param) → dynamic {
     #local1#isSet = true;
-    return #local1 = #t1;
+    return #local1 = local1#param;
   }
   #local1#set(0){(core::int) → dynamic};
   self::expect(0, #local1#get(){() → core::int});
@@ -32,9 +32,9 @@
     }
     return #local2{core::int};
   }
-  function #local2#set(core::int #t2) → dynamic {
+  function #local2#set(core::int local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t2;
+    return #local2 = local2#param;
   }
   self::expect(1, #local2#get(){() → core::int});
   #local2#set(#local2#get(){() → core::int}.{core::num::+}(2){(core::num) → core::int}){(core::int) → dynamic};
@@ -45,12 +45,12 @@
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t3) → dynamic
+  function #local#set(core::int local#param) → dynamic
     if(#local#isSet)
       throw new _in::LateError::localAI("local");
     else {
       #local#isSet = true;
-      return #local = #t3;
+      return #local = local#param;
     }
   #local#set(invalid-expression "pkg/front_end/testcases/late_lowering/compound.dart:20:3: Error: Late variable 'local' without initializer is definitely unassigned.
   local += 0;
diff --git a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect
index 78c816d..8a935f2 100644
--- a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.strong.expect
@@ -22,12 +22,12 @@
     ;
   get invariantField() → core::num
     return let final core::num? #t1 = this.{self::A::_#A#invariantField}{core::num?} in #t1 == null ?{core::num} throw new _in::LateError::fieldNI("invariantField") : #t1{core::num};
-  set invariantField(core::num #t2) → void
-    this.{self::A::_#A#invariantField} = #t2;
+  set invariantField(core::num invariantField#param) → void
+    this.{self::A::_#A#invariantField} = invariantField#param;
   get covariantField() → core::num
-    return let final core::num? #t3 = this.{self::A::_#A#covariantField}{core::num?} in #t3 == null ?{core::num} throw new _in::LateError::fieldNI("covariantField") : #t3{core::num};
-  set covariantField(covariant-by-declaration core::num #t4) → void
-    this.{self::A::_#A#covariantField} = #t4;
+    return let final core::num? #t2 = this.{self::A::_#A#covariantField}{core::num?} in #t2 == null ?{core::num} throw new _in::LateError::fieldNI("covariantField") : #t2{core::num};
+  set covariantField(covariant-by-declaration core::num covariantField#param) → void
+    this.{self::A::_#A#covariantField} = covariantField#param;
 }
 abstract class B extends core::Object implements self::A {
   synthetic constructor •() → self::B
diff --git a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.expect b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.expect
index c2ac0b9..ee43c6f 100644
--- a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.expect
@@ -24,15 +24,15 @@
     ;
   get invariantField() → core::num
     return this.{self::A::_#A#invariantField#isSet}{core::bool} ?{core::num} let final core::num? #t1 = this.{self::A::_#A#invariantField}{core::num?} in #t1{core::num} : throw new _in::LateError::fieldNI("invariantField");
-  set invariantField(core::num #t2) → void {
+  set invariantField(core::num invariantField#param) → void {
     this.{self::A::_#A#invariantField#isSet} = true;
-    this.{self::A::_#A#invariantField} = #t2;
+    this.{self::A::_#A#invariantField} = invariantField#param;
   }
   get covariantField() → core::num
-    return this.{self::A::_#A#covariantField#isSet}{core::bool} ?{core::num} let final core::num? #t3 = this.{self::A::_#A#covariantField}{core::num?} in #t3{core::num} : throw new _in::LateError::fieldNI("covariantField");
-  set covariantField(covariant-by-declaration core::num #t4) → void {
+    return this.{self::A::_#A#covariantField#isSet}{core::bool} ?{core::num} let final core::num? #t2 = this.{self::A::_#A#covariantField}{core::num?} in #t2{core::num} : throw new _in::LateError::fieldNI("covariantField");
+  set covariantField(covariant-by-declaration core::num covariantField#param) → void {
     this.{self::A::_#A#covariantField#isSet} = true;
-    this.{self::A::_#A#covariantField} = #t4;
+    this.{self::A::_#A#covariantField} = covariantField#param;
   }
 }
 abstract class B extends core::Object implements self::A {
diff --git a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.modular.expect
index c2ac0b9..ee43c6f 100644
--- a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.modular.expect
@@ -24,15 +24,15 @@
     ;
   get invariantField() → core::num
     return this.{self::A::_#A#invariantField#isSet}{core::bool} ?{core::num} let final core::num? #t1 = this.{self::A::_#A#invariantField}{core::num?} in #t1{core::num} : throw new _in::LateError::fieldNI("invariantField");
-  set invariantField(core::num #t2) → void {
+  set invariantField(core::num invariantField#param) → void {
     this.{self::A::_#A#invariantField#isSet} = true;
-    this.{self::A::_#A#invariantField} = #t2;
+    this.{self::A::_#A#invariantField} = invariantField#param;
   }
   get covariantField() → core::num
-    return this.{self::A::_#A#covariantField#isSet}{core::bool} ?{core::num} let final core::num? #t3 = this.{self::A::_#A#covariantField}{core::num?} in #t3{core::num} : throw new _in::LateError::fieldNI("covariantField");
-  set covariantField(covariant-by-declaration core::num #t4) → void {
+    return this.{self::A::_#A#covariantField#isSet}{core::bool} ?{core::num} let final core::num? #t2 = this.{self::A::_#A#covariantField}{core::num?} in #t2{core::num} : throw new _in::LateError::fieldNI("covariantField");
+  set covariantField(covariant-by-declaration core::num covariantField#param) → void {
     this.{self::A::_#A#covariantField#isSet} = true;
-    this.{self::A::_#A#covariantField} = #t4;
+    this.{self::A::_#A#covariantField} = covariantField#param;
   }
 }
 abstract class B extends core::Object implements self::A {
diff --git a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.outline.expect
index 9bc19d0..ef67ccc 100644
--- a/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/covariant_late_field.dart.weak.outline.expect
@@ -21,9 +21,9 @@
   synthetic constructor •() → self::A
     ;
   get invariantField() → core::num;
-  set invariantField(core::num #t1) → void;
+  set invariantField(core::num invariantField#param) → void;
   get covariantField() → core::num;
-  set covariantField(covariant-by-declaration core::num #t2) → void;
+  set covariantField(covariant-by-declaration core::num covariantField#param) → void;
 }
 abstract class B extends core::Object implements self::A {
   synthetic constructor •() → self::B
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect
index cc9b378..6d8023d 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.expect
@@ -69,27 +69,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t1;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
-  function #local4#set(core::int #t3) → dynamic
+    return let final core::int? #t1 = #local4 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t1{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t3;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t5) → dynamic
+    return let final FutureOr<core::int>? #t2 = #local6 in #t2 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t2{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t5;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   #local2#set(value){(T%) → dynamic};
@@ -110,27 +110,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t6) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t6;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t7 = #local4 in #t7 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t7{core::int};
-  function #local4#set(core::int #t8) → dynamic
+    return let final core::int? #t3 = #local4 in #t3 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t3{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t8;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t9 = #local6 in #t9 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t9{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t10) → dynamic
+    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t10;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   if(b) {
@@ -154,10 +154,10 @@
 static field () → Null fieldCompound = () → Null {
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t11 = #local4 in #t11 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t11{core::int};
-  function #local4#set(core::int #t12) → dynamic
+    return let final core::int? #t5 = #local4 in #t5 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t5{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t12;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   #local4#set(0){(core::int) → dynamic};
@@ -170,27 +170,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t13) → dynamic
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t13;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t14 = #local4 in #t14 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t14{core::int};
-  function #local4#set(core::int #t15) → dynamic
+    return let final core::int? #t6 = #local4 in #t6 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t6{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t15;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t16 = #local6 in #t16 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t16{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t17) → dynamic
+    return let final FutureOr<core::int>? #t7 = #local6 in #t7 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t7{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t17;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   #local2#set(value){(self::methodDirect::T%) → dynamic};
@@ -211,27 +211,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t18) → dynamic
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t18;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t19 = #local4 in #t19 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t19{core::int};
-  function #local4#set(core::int #t20) → dynamic
+    return let final core::int? #t8 = #local4 in #t8 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t8{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t20;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t21 = #local6 in #t21 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t21{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t22) → dynamic
+    return let final FutureOr<core::int>? #t9 = #local6 in #t9 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t9{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t22;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   if(b) {
@@ -255,10 +255,10 @@
 static method methodCompound() → dynamic {
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t23 = #local4 in #t23 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t23{core::int};
-  function #local4#set(core::int #t24) → dynamic
+    return let final core::int? #t10 = #local4 in #t10 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t24;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   #local4#set(0){(core::int) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect
index cc9b378..6d8023d 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.strong.transformed.expect
@@ -69,27 +69,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t1;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
-  function #local4#set(core::int #t3) → dynamic
+    return let final core::int? #t1 = #local4 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t1{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t3;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t5) → dynamic
+    return let final FutureOr<core::int>? #t2 = #local6 in #t2 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t2{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t5;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   #local2#set(value){(T%) → dynamic};
@@ -110,27 +110,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t6) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t6;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t7 = #local4 in #t7 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t7{core::int};
-  function #local4#set(core::int #t8) → dynamic
+    return let final core::int? #t3 = #local4 in #t3 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t3{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t8;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t9 = #local6 in #t9 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t9{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t10) → dynamic
+    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t10;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   if(b) {
@@ -154,10 +154,10 @@
 static field () → Null fieldCompound = () → Null {
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t11 = #local4 in #t11 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t11{core::int};
-  function #local4#set(core::int #t12) → dynamic
+    return let final core::int? #t5 = #local4 in #t5 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t5{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t12;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   #local4#set(0){(core::int) → dynamic};
@@ -170,27 +170,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t13) → dynamic
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t13;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t14 = #local4 in #t14 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t14{core::int};
-  function #local4#set(core::int #t15) → dynamic
+    return let final core::int? #t6 = #local4 in #t6 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t6{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t15;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t16 = #local6 in #t16 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t16{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t17) → dynamic
+    return let final FutureOr<core::int>? #t7 = #local6 in #t7 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t7{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t17;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   #local2#set(value){(self::methodDirect::T%) → dynamic};
@@ -211,27 +211,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t18) → dynamic
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t18;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t19 = #local4 in #t19 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t19{core::int};
-  function #local4#set(core::int #t20) → dynamic
+    return let final core::int? #t8 = #local4 in #t8 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t8{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t20;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   lowered final FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t21 = #local6 in #t21 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t21{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t22) → dynamic
+    return let final FutureOr<core::int>? #t9 = #local6 in #t9 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t9{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6 == null)
-      return #local6 = #t22;
+      return #local6 = local6#param;
     else
       throw new _in::LateError::localAI("local6");
   if(b) {
@@ -255,10 +255,10 @@
 static method methodCompound() → dynamic {
   lowered final core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t23 = #local4 in #t23 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t23{core::int};
-  function #local4#set(core::int #t24) → dynamic
+    return let final core::int? #t10 = #local4 in #t10 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4 == null)
-      return #local4 = #t24;
+      return #local4 = local4#param;
     else
       throw new _in::LateError::localAI("local4");
   #local4#set(0){(core::int) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect
index 28154dd..c598a45 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.expect
@@ -69,34 +69,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t1;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t2) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t2;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t3) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t3;
+      return #local6 = local6#param;
     }
   #local2#set(value){(T%) → dynamic};
   #local4#set(0){(core::int) → dynamic};
@@ -116,34 +116,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t4) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t4;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t5) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t5;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t6) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t6;
+      return #local6 = local6#param;
     }
   if(b) {
     #local2#set(value){(T%) → dynamic};
@@ -168,12 +168,12 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t7) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t7;
+      return #local4 = local4#param;
     }
   #local4#set(0){(core::int) → dynamic};
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:88:3: Error: Late final variable '#local4' definitely assigned.
@@ -185,34 +185,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t8) → dynamic
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t9) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t9;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t10) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t10;
+      return #local6 = local6#param;
     }
   #local2#set(value){(self::methodDirect::T%) → dynamic};
   #local4#set(0){(core::int) → dynamic};
@@ -232,34 +232,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t11) → dynamic
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t11;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t12) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t12;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t13) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t13;
+      return #local6 = local6#param;
     }
   if(b) {
     #local2#set(value){(self::methodConditional::T%) → dynamic};
@@ -284,12 +284,12 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t14) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t14;
+      return #local4 = local4#param;
     }
   #local4#set(0){(core::int) → dynamic};
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:80:3: Error: Late final variable '#local4' definitely assigned.
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.modular.expect
index 28154dd..c598a45 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.modular.expect
@@ -69,34 +69,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t1;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t2) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t2;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t3) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t3;
+      return #local6 = local6#param;
     }
   #local2#set(value){(T%) → dynamic};
   #local4#set(0){(core::int) → dynamic};
@@ -116,34 +116,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t4) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t4;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t5) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t5;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t6) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t6;
+      return #local6 = local6#param;
     }
   if(b) {
     #local2#set(value){(T%) → dynamic};
@@ -168,12 +168,12 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t7) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t7;
+      return #local4 = local4#param;
     }
   #local4#set(0){(core::int) → dynamic};
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:88:3: Error: Late final variable '#local4' definitely assigned.
@@ -185,34 +185,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t8) → dynamic
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t9) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t9;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t10) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t10;
+      return #local6 = local6#param;
     }
   #local2#set(value){(self::methodDirect::T%) → dynamic};
   #local4#set(0){(core::int) → dynamic};
@@ -232,34 +232,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t11) → dynamic
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t11;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t12) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t12;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t13) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t13;
+      return #local6 = local6#param;
     }
   if(b) {
     #local2#set(value){(self::methodConditional::T%) → dynamic};
@@ -284,12 +284,12 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t14) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t14;
+      return #local4 = local4#param;
     }
   #local4#set(0){(core::int) → dynamic};
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:80:3: Error: Late final variable '#local4' definitely assigned.
diff --git a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect
index 28154dd..c598a45 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_assigned.dart.weak.transformed.expect
@@ -69,34 +69,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t1;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t2) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t2;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t3) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t3;
+      return #local6 = local6#param;
     }
   #local2#set(value){(T%) → dynamic};
   #local4#set(0){(core::int) → dynamic};
@@ -116,34 +116,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t4) → dynamic
+  function #local2#set(T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t4;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t5) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t5;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t6) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t6;
+      return #local6 = local6#param;
     }
   if(b) {
     #local2#set(value){(T%) → dynamic};
@@ -168,12 +168,12 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t7) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t7;
+      return #local4 = local4#param;
     }
   #local4#set(0){(core::int) → dynamic};
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:88:3: Error: Late final variable '#local4' definitely assigned.
@@ -185,34 +185,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t8) → dynamic
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t9) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t9;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t10) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t10;
+      return #local6 = local6#param;
     }
   #local2#set(value){(self::methodDirect::T%) → dynamic};
   #local4#set(0){(core::int) → dynamic};
@@ -232,34 +232,34 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t11) → dynamic
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic
     if(#local2#isSet)
       throw new _in::LateError::localAI("local2");
     else {
       #local2#isSet = true;
-      return #local2 = #t11;
+      return #local2 = local2#param;
     }
   lowered final core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t12) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t12;
+      return #local4 = local4#param;
     }
   lowered final FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t13) → dynamic
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
     if(#local6#isSet)
       throw new _in::LateError::localAI("local6");
     else {
       #local6#isSet = true;
-      return #local6 = #t13;
+      return #local6 = local6#param;
     }
   if(b) {
     #local2#set(value){(self::methodConditional::T%) → dynamic};
@@ -284,12 +284,12 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t14) → dynamic
+  function #local4#set(core::int local4#param) → dynamic
     if(#local4#isSet)
       throw new _in::LateError::localAI("local4");
     else {
       #local4#isSet = true;
-      return #local4 = #t14;
+      return #local4 = local4#param;
     }
   #local4#set(0){(core::int) → dynamic};
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_assigned.dart:80:3: Error: Late final variable '#local4' definitely assigned.
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect
index b85ce55..5701988 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.expect
@@ -102,22 +102,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t1;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
-  function #local4#set(core::int #t3) → dynamic
-    return #local4 = #t3;
+    return let final core::int? #t1 = #local4 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t1{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t5) → dynamic
-    return #local6 = #t5;
+    return let final FutureOr<core::int>? #t2 = #local6 in #t2 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t2{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → T% {
@@ -127,9 +127,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t6) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t6;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:34:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -157,22 +157,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t7) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t7;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t8 = #local4 in #t8 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t8{core::int};
-  function #local4#set(core::int #t9) → dynamic
-    return #local4 = #t9;
+    return let final core::int? #t3 = #local4 in #t3 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t3{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t10 = #local6 in #t10 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t10{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t11) → dynamic
-    return #local6 = #t11;
+    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → T% {
@@ -182,9 +182,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t12) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t12;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -213,9 +213,9 @@
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t13 = #local4 in #t13 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t13{core::int};
-  function #local4#set(core::int #t14) → dynamic
-    return #local4 = #t14;
+    return let final core::int? #t5 = #local4 in #t5 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t5{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
   ^^^^^^" in local3.{core::num::+}(0){(core::num) → core::int};
@@ -229,22 +229,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t15) → dynamic {
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t15;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t16 = #local4 in #t16 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t16{core::int};
-  function #local4#set(core::int #t17) → dynamic
-    return #local4 = #t17;
+    return let final core::int? #t6 = #local4 in #t6 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t6{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t18 = #local6 in #t18 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t18{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t19) → dynamic
-    return #local6 = #t19;
+    return let final FutureOr<core::int>? #t7 = #local6 in #t7 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t7{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered self::methodDirect::T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → self::methodDirect::T% {
@@ -254,9 +254,9 @@
     }
     return #local7{self::methodDirect::T%};
   }
-  function #local7#set(self::methodDirect::T% #t20) → dynamic {
+  function #local7#set(self::methodDirect::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t20;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:16:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -284,22 +284,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t21) → dynamic {
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t21;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t22 = #local4 in #t22 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t22{core::int};
-  function #local4#set(core::int #t23) → dynamic
-    return #local4 = #t23;
+    return let final core::int? #t8 = #local4 in #t8 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t8{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t24 = #local6 in #t24 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t24{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t25) → dynamic
-    return #local6 = #t25;
+    return let final FutureOr<core::int>? #t9 = #local6 in #t9 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t9{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered self::methodConditional::T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → self::methodConditional::T% {
@@ -309,9 +309,9 @@
     }
     return #local7{self::methodConditional::T%};
   }
-  function #local7#set(self::methodConditional::T% #t26) → dynamic {
+  function #local7#set(self::methodConditional::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t26;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -340,9 +340,9 @@
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t27 = #local4 in #t27 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t27{core::int};
-  function #local4#set(core::int #t28) → dynamic
-    return #local4 = #t28;
+    return let final core::int? #t10 = #local4 in #t10 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
   ^^^^^^" in local3.{core::num::+}(0){(core::num) → core::int};
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect
index b85ce55..5701988 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.strong.transformed.expect
@@ -102,22 +102,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t1;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t2 = #local4 in #t2 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t2{core::int};
-  function #local4#set(core::int #t3) → dynamic
-    return #local4 = #t3;
+    return let final core::int? #t1 = #local4 in #t1 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t1{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t5) → dynamic
-    return #local6 = #t5;
+    return let final FutureOr<core::int>? #t2 = #local6 in #t2 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t2{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → T% {
@@ -127,9 +127,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t6) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t6;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:34:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -157,22 +157,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t7) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t7;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t8 = #local4 in #t8 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t8{core::int};
-  function #local4#set(core::int #t9) → dynamic
-    return #local4 = #t9;
+    return let final core::int? #t3 = #local4 in #t3 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t3{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t10 = #local6 in #t10 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t10{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t11) → dynamic
-    return #local6 = #t11;
+    return let final FutureOr<core::int>? #t4 = #local6 in #t4 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t4{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → T% {
@@ -182,9 +182,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t12) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t12;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -213,9 +213,9 @@
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t13 = #local4 in #t13 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t13{core::int};
-  function #local4#set(core::int #t14) → dynamic
-    return #local4 = #t14;
+    return let final core::int? #t5 = #local4 in #t5 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t5{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
   ^^^^^^" in local3.{core::num::+}(0){(core::num) → core::int};
@@ -229,22 +229,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t15) → dynamic {
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t15;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t16 = #local4 in #t16 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t16{core::int};
-  function #local4#set(core::int #t17) → dynamic
-    return #local4 = #t17;
+    return let final core::int? #t6 = #local4 in #t6 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t6{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t18 = #local6 in #t18 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t18{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t19) → dynamic
-    return #local6 = #t19;
+    return let final FutureOr<core::int>? #t7 = #local6 in #t7 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t7{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered self::methodDirect::T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → self::methodDirect::T% {
@@ -254,9 +254,9 @@
     }
     return #local7{self::methodDirect::T%};
   }
-  function #local7#set(self::methodDirect::T% #t20) → dynamic {
+  function #local7#set(self::methodDirect::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t20;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:16:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -284,22 +284,22 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t21) → dynamic {
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t21;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t22 = #local4 in #t22 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t22{core::int};
-  function #local4#set(core::int #t23) → dynamic
-    return #local4 = #t23;
+    return let final core::int? #t8 = #local4 in #t8 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t8{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   function #local6#get() → FutureOr<core::int>
-    return let final FutureOr<core::int>? #t24 = #local6 in #t24 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t24{FutureOr<core::int>};
-  function #local6#set(FutureOr<core::int>#t25) → dynamic
-    return #local6 = #t25;
+    return let final FutureOr<core::int>? #t9 = #local6 in #t9 == null ?{FutureOr<core::int>} throw new _in::LateError::localNI("local6") : #t9{FutureOr<core::int>};
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic
+    return #local6 = local6#param;
   lowered self::methodConditional::T? #local7;
   lowered core::bool #local7#isSet = false;
   function #local7#get() → self::methodConditional::T% {
@@ -309,9 +309,9 @@
     }
     return #local7{self::methodConditional::T%};
   }
-  function #local7#set(self::methodConditional::T% #t26) → dynamic {
+  function #local7#set(self::methodConditional::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t26;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -340,9 +340,9 @@
   core::int local3;
   lowered core::int? #local4;
   function #local4#get() → core::int
-    return let final core::int? #t27 = #local4 in #t27 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t27{core::int};
-  function #local4#set(core::int #t28) → dynamic
-    return #local4 = #t28;
+    return let final core::int? #t10 = #local4 in #t10 == null ?{core::int} throw new _in::LateError::localNI("local4") : #t10{core::int};
+  function #local4#set(core::int local4#param) → dynamic
+    return #local4 = local4#param;
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
   ^^^^^^" in local3.{core::num::+}(0){(core::num) → core::int};
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect
index 5589982..405aa62 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.expect
@@ -102,27 +102,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t1;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t2) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t2;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t3) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t3;
+    return #local6 = local6#param;
   }
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -133,9 +133,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t4) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t4;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:34:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -163,27 +163,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t5) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t5;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t6) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t6;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t7) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t7;
+    return #local6 = local6#param;
   }
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -194,9 +194,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t8) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t8;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -227,9 +227,9 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t9) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t9;
+    return #local4 = local4#param;
   }
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
@@ -244,27 +244,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t10) → dynamic {
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t10;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t11) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t11;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t12) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t12;
+    return #local6 = local6#param;
   }
   lowered self::methodDirect::T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -275,9 +275,9 @@
     }
     return #local7{self::methodDirect::T%};
   }
-  function #local7#set(self::methodDirect::T% #t13) → dynamic {
+  function #local7#set(self::methodDirect::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t13;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:16:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -305,27 +305,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t14) → dynamic {
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t14;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t15) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t15;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t16) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t16;
+    return #local6 = local6#param;
   }
   lowered self::methodConditional::T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -336,9 +336,9 @@
     }
     return #local7{self::methodConditional::T%};
   }
-  function #local7#set(self::methodConditional::T% #t17) → dynamic {
+  function #local7#set(self::methodConditional::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t17;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -369,9 +369,9 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t18) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t18;
+    return #local4 = local4#param;
   }
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.modular.expect
index 5589982..405aa62 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.modular.expect
@@ -102,27 +102,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t1;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t2) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t2;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t3) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t3;
+    return #local6 = local6#param;
   }
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -133,9 +133,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t4) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t4;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:34:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -163,27 +163,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t5) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t5;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t6) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t6;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t7) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t7;
+    return #local6 = local6#param;
   }
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -194,9 +194,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t8) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t8;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -227,9 +227,9 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t9) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t9;
+    return #local4 = local4#param;
   }
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
@@ -244,27 +244,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t10) → dynamic {
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t10;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t11) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t11;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t12) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t12;
+    return #local6 = local6#param;
   }
   lowered self::methodDirect::T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -275,9 +275,9 @@
     }
     return #local7{self::methodDirect::T%};
   }
-  function #local7#set(self::methodDirect::T% #t13) → dynamic {
+  function #local7#set(self::methodDirect::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t13;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:16:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -305,27 +305,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t14) → dynamic {
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t14;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t15) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t15;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t16) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t16;
+    return #local6 = local6#param;
   }
   lowered self::methodConditional::T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -336,9 +336,9 @@
     }
     return #local7{self::methodConditional::T%};
   }
-  function #local7#set(self::methodConditional::T% #t17) → dynamic {
+  function #local7#set(self::methodConditional::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t17;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -369,9 +369,9 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t18) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t18;
+    return #local4 = local4#param;
   }
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
diff --git a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect
index 5589982..405aa62 100644
--- a/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/definitely_unassigned.dart.weak.transformed.expect
@@ -102,27 +102,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t1) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t1;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t2) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t2;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t3) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t3;
+    return #local6 = local6#param;
   }
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -133,9 +133,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t4) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t4;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:34:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -163,27 +163,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → T%
     return #local2#isSet ?{T%} #local2{T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(T% #t5) → dynamic {
+  function #local2#set(T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t5;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t6) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t6;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t7) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t7;
+    return #local6 = local6#param;
   }
   lowered T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -194,9 +194,9 @@
     }
     return #local7{T%};
   }
-  function #local7#set(T% #t8) → dynamic {
+  function #local7#set(T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t8;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -227,9 +227,9 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t9) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t9;
+    return #local4 = local4#param;
   }
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:111:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
@@ -244,27 +244,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodDirect::T%
     return #local2#isSet ?{self::methodDirect::T%} #local2{self::methodDirect::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodDirect::T% #t10) → dynamic {
+  function #local2#set(self::methodDirect::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t10;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t11) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t11;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t12) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t12;
+    return #local6 = local6#param;
   }
   lowered self::methodDirect::T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -275,9 +275,9 @@
     }
     return #local7{self::methodDirect::T%};
   }
-  function #local7#set(self::methodDirect::T% #t13) → dynamic {
+  function #local7#set(self::methodDirect::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t13;
+    return #local7 = local7#param;
   }
   invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:16:3: Error: Non-nullable variable 'local1' must be assigned before it can be used.
   local1; // error
@@ -305,27 +305,27 @@
   lowered core::bool #local2#isSet = false;
   function #local2#get() → self::methodConditional::T%
     return #local2#isSet ?{self::methodConditional::T%} #local2{self::methodConditional::T%} : throw new _in::LateError::localNI("local2");
-  function #local2#set(self::methodConditional::T% #t14) → dynamic {
+  function #local2#set(self::methodConditional::T% local2#param) → dynamic {
     #local2#isSet = true;
-    return #local2 = #t14;
+    return #local2 = local2#param;
   }
   core::int local3;
   lowered core::int? #local4;
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t15) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t15;
+    return #local4 = local4#param;
   }
   FutureOr<core::int>local5;
   lowered FutureOr<core::int>? #local6;
   lowered core::bool #local6#isSet = false;
   function #local6#get() → FutureOr<core::int>
     return #local6#isSet ?{FutureOr<core::int>} #local6{FutureOr<core::int>} : throw new _in::LateError::localNI("local6");
-  function #local6#set(FutureOr<core::int>#t16) → dynamic {
+  function #local6#set(FutureOr<core::int>local6#param) → dynamic {
     #local6#isSet = true;
-    return #local6 = #t16;
+    return #local6 = local6#param;
   }
   lowered self::methodConditional::T? #local7;
   lowered core::bool #local7#isSet = false;
@@ -336,9 +336,9 @@
     }
     return #local7{self::methodConditional::T%};
   }
-  function #local7#set(self::methodConditional::T% #t17) → dynamic {
+  function #local7#set(self::methodConditional::T% local7#param) → dynamic {
     #local7#isSet = true;
-    return #local7 = #t17;
+    return #local7 = local7#param;
   }
   if(b) {
     local1 = value;
@@ -369,9 +369,9 @@
   lowered core::bool #local4#isSet = false;
   function #local4#get() → core::int
     return #local4#isSet ?{core::int} #local4{core::int} : throw new _in::LateError::localNI("local4");
-  function #local4#set(core::int #t18) → dynamic {
+  function #local4#set(core::int local4#param) → dynamic {
     #local4#isSet = true;
-    return #local4 = #t18;
+    return #local4 = local4#param;
   }
   local3 = invalid-expression "pkg/front_end/testcases/late_lowering/definitely_unassigned.dart:103:3: Error: Non-nullable variable 'local3' must be assigned before it can be used.
   local3 += 0; // error
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect
index 0231470..ca2862e 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.expect
@@ -46,18 +46,18 @@
     ;
   get property4() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#property4}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t1{core::int};
-  set property4(core::int #t2) → void
-    this.{self::A::_#A#property4} = #t2;
+  set property4(core::int property4#param) → void
+    this.{self::A::_#A#property4} = property4#param;
   get property5() → core::int?
     return this.{self::A::_#A#property5#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#property5}{core::int?} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int? #t3) → void {
+  set property5(core::int? property5#param) → void {
     this.{self::A::_#A#property5#isSet} = true;
-    this.{self::A::_#A#property5} = #t3;
+    this.{self::A::_#A#property5} = property5#param;
   }
   get property6() → core::int
-    return let final core::int? #t4 = this.{self::A::_#A#property6}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t4{core::int};
-  set property6(covariant-by-declaration core::int #t5) → void
-    this.{self::A::_#A#property6} = #t5;
+    return let final core::int? #t2 = this.{self::A::_#A#property6}{core::int?} in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t2{core::int};
+  set property6(covariant-by-declaration core::int property6#param) → void
+    this.{self::A::_#A#property6} = property6#param;
 }
 abstract class B1 extends core::Object {
   field core::int? _#B1#property4 = null;
@@ -68,27 +68,27 @@
     : self::B1::_#B1#property4 = property4, self::B1::_#B1#property5 = property5, self::B1::_#B1#property6#isSet = true, self::B1::_#B1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return let final core::int? #t6 = this.{self::B1::_#B1#property4}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t6{core::int};
-  set property4(core::int #t7) → void
+    return let final core::int? #t3 = this.{self::B1::_#B1#property4}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t3{core::int};
+  set property4(core::int property4#param) → void
     if(this.{self::B1::_#B1#property4}{core::int?} == null)
-      this.{self::B1::_#B1#property4} = #t7;
+      this.{self::B1::_#B1#property4} = property4#param;
     else
       throw new _in::LateError::fieldAI("property4");
   get property5() → core::int
-    return let final core::int? #t8 = this.{self::B1::_#B1#property5}{core::int?} in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t8{core::int};
-  set property5(core::int #t9) → void
+    return let final core::int? #t4 = this.{self::B1::_#B1#property5}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t4{core::int};
+  set property5(core::int property5#param) → void
     if(this.{self::B1::_#B1#property5}{core::int?} == null)
-      this.{self::B1::_#B1#property5} = #t9;
+      this.{self::B1::_#B1#property5} = property5#param;
     else
       throw new _in::LateError::fieldAI("property5");
   get property6() → core::int?
     return this.{self::B1::_#B1#property6#isSet}{core::bool} ?{core::int?} this.{self::B1::_#B1#property6}{core::int?} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int? #t10) → void
+  set property6(core::int? property6#param) → void
     if(this.{self::B1::_#B1#property6#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property6");
     else {
       this.{self::B1::_#B1#property6#isSet} = true;
-      this.{self::B1::_#B1#property6} = #t10;
+      this.{self::B1::_#B1#property6} = property6#param;
     }
 }
 abstract class B2 extends core::Object implements self::B1 {
@@ -107,17 +107,17 @@
     : self::C1::_#C1#property4 = property4, self::C1::_#C1#property5 = property5, self::C1::_#C1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return let final core::int? #t11 = this.{self::C1::_#C1#property4}{core::int?} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t11{core::int};
-  set property4(core::int #t12) → void
-    this.{self::C1::_#C1#property4} = #t12;
+    return let final core::int? #t5 = this.{self::C1::_#C1#property4}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t5{core::int};
+  set property4(core::int property4#param) → void
+    this.{self::C1::_#C1#property4} = property4#param;
   get property5() → core::int
-    return let final core::int? #t13 = this.{self::C1::_#C1#property5}{core::int?} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t13{core::int};
-  set property5(core::int #t14) → void
-    this.{self::C1::_#C1#property5} = #t14;
+    return let final core::int? #t6 = this.{self::C1::_#C1#property5}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t6{core::int};
+  set property5(core::int property5#param) → void
+    this.{self::C1::_#C1#property5} = property5#param;
   get property6() → core::int
-    return let final core::int? #t15 = this.{self::C1::_#C1#property6}{core::int?} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t15{core::int};
-  set property6(core::int #t16) → void
-    this.{self::C1::_#C1#property6} = #t16;
+    return let final core::int? #t7 = this.{self::C1::_#C1#property6}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t7{core::int};
+  set property6(core::int property6#param) → void
+    this.{self::C1::_#C1#property6} = property6#param;
 }
 abstract class C2 extends core::Object implements self::C1 {
   synthetic constructor •() → self::C2
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect
index 0231470..ca2862e 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.strong.transformed.expect
@@ -46,18 +46,18 @@
     ;
   get property4() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#property4}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t1{core::int};
-  set property4(core::int #t2) → void
-    this.{self::A::_#A#property4} = #t2;
+  set property4(core::int property4#param) → void
+    this.{self::A::_#A#property4} = property4#param;
   get property5() → core::int?
     return this.{self::A::_#A#property5#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#property5}{core::int?} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int? #t3) → void {
+  set property5(core::int? property5#param) → void {
     this.{self::A::_#A#property5#isSet} = true;
-    this.{self::A::_#A#property5} = #t3;
+    this.{self::A::_#A#property5} = property5#param;
   }
   get property6() → core::int
-    return let final core::int? #t4 = this.{self::A::_#A#property6}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t4{core::int};
-  set property6(covariant-by-declaration core::int #t5) → void
-    this.{self::A::_#A#property6} = #t5;
+    return let final core::int? #t2 = this.{self::A::_#A#property6}{core::int?} in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t2{core::int};
+  set property6(covariant-by-declaration core::int property6#param) → void
+    this.{self::A::_#A#property6} = property6#param;
 }
 abstract class B1 extends core::Object {
   field core::int? _#B1#property4 = null;
@@ -68,27 +68,27 @@
     : self::B1::_#B1#property4 = property4, self::B1::_#B1#property5 = property5, self::B1::_#B1#property6#isSet = true, self::B1::_#B1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return let final core::int? #t6 = this.{self::B1::_#B1#property4}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t6{core::int};
-  set property4(core::int #t7) → void
+    return let final core::int? #t3 = this.{self::B1::_#B1#property4}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t3{core::int};
+  set property4(core::int property4#param) → void
     if(this.{self::B1::_#B1#property4}{core::int?} == null)
-      this.{self::B1::_#B1#property4} = #t7;
+      this.{self::B1::_#B1#property4} = property4#param;
     else
       throw new _in::LateError::fieldAI("property4");
   get property5() → core::int
-    return let final core::int? #t8 = this.{self::B1::_#B1#property5}{core::int?} in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t8{core::int};
-  set property5(core::int #t9) → void
+    return let final core::int? #t4 = this.{self::B1::_#B1#property5}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t4{core::int};
+  set property5(core::int property5#param) → void
     if(this.{self::B1::_#B1#property5}{core::int?} == null)
-      this.{self::B1::_#B1#property5} = #t9;
+      this.{self::B1::_#B1#property5} = property5#param;
     else
       throw new _in::LateError::fieldAI("property5");
   get property6() → core::int?
     return this.{self::B1::_#B1#property6#isSet}{core::bool} ?{core::int?} this.{self::B1::_#B1#property6}{core::int?} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int? #t10) → void
+  set property6(core::int? property6#param) → void
     if(this.{self::B1::_#B1#property6#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property6");
     else {
       this.{self::B1::_#B1#property6#isSet} = true;
-      this.{self::B1::_#B1#property6} = #t10;
+      this.{self::B1::_#B1#property6} = property6#param;
     }
 }
 abstract class B2 extends core::Object implements self::B1 {
@@ -107,17 +107,17 @@
     : self::C1::_#C1#property4 = property4, self::C1::_#C1#property5 = property5, self::C1::_#C1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return let final core::int? #t11 = this.{self::C1::_#C1#property4}{core::int?} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t11{core::int};
-  set property4(core::int #t12) → void
-    this.{self::C1::_#C1#property4} = #t12;
+    return let final core::int? #t5 = this.{self::C1::_#C1#property4}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("property4") : #t5{core::int};
+  set property4(core::int property4#param) → void
+    this.{self::C1::_#C1#property4} = property4#param;
   get property5() → core::int
-    return let final core::int? #t13 = this.{self::C1::_#C1#property5}{core::int?} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t13{core::int};
-  set property5(core::int #t14) → void
-    this.{self::C1::_#C1#property5} = #t14;
+    return let final core::int? #t6 = this.{self::C1::_#C1#property5}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("property5") : #t6{core::int};
+  set property5(core::int property5#param) → void
+    this.{self::C1::_#C1#property5} = property5#param;
   get property6() → core::int
-    return let final core::int? #t15 = this.{self::C1::_#C1#property6}{core::int?} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t15{core::int};
-  set property6(core::int #t16) → void
-    this.{self::C1::_#C1#property6} = #t16;
+    return let final core::int? #t7 = this.{self::C1::_#C1#property6}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("property6") : #t7{core::int};
+  set property6(core::int property6#param) → void
+    this.{self::C1::_#C1#property6} = property6#param;
 }
 abstract class C2 extends core::Object implements self::C1 {
   synthetic constructor •() → self::C2
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.expect
index 12210ba..2c82cd2 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.expect
@@ -48,21 +48,21 @@
     ;
   get property4() → core::int
     return this.{self::A::_#A#property4#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#property4}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t2) → void {
+  set property4(core::int property4#param) → void {
     this.{self::A::_#A#property4#isSet} = true;
-    this.{self::A::_#A#property4} = #t2;
+    this.{self::A::_#A#property4} = property4#param;
   }
   get property5() → core::int?
     return this.{self::A::_#A#property5#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#property5}{core::int?} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int? #t3) → void {
+  set property5(core::int? property5#param) → void {
     this.{self::A::_#A#property5#isSet} = true;
-    this.{self::A::_#A#property5} = #t3;
+    this.{self::A::_#A#property5} = property5#param;
   }
   get property6() → core::int
-    return this.{self::A::_#A#property6#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::A::_#A#property6}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("property6");
-  set property6(covariant-by-declaration core::int #t5) → void {
+    return this.{self::A::_#A#property6#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::A::_#A#property6}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("property6");
+  set property6(covariant-by-declaration core::int property6#param) → void {
     this.{self::A::_#A#property6#isSet} = true;
-    this.{self::A::_#A#property6} = #t5;
+    this.{self::A::_#A#property6} = property6#param;
   }
 }
 abstract class B1 extends core::Object {
@@ -76,31 +76,31 @@
     : self::B1::_#B1#property4#isSet = true, self::B1::_#B1#property4 = property4, self::B1::_#B1#property5#isSet = true, self::B1::_#B1#property5 = property5, self::B1::_#B1#property6#isSet = true, self::B1::_#B1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return this.{self::B1::_#B1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::B1::_#B1#property4}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t7) → void
+    return this.{self::B1::_#B1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::B1::_#B1#property4}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("property4");
+  set property4(core::int property4#param) → void
     if(this.{self::B1::_#B1#property4#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property4");
     else {
       this.{self::B1::_#B1#property4#isSet} = true;
-      this.{self::B1::_#B1#property4} = #t7;
+      this.{self::B1::_#B1#property4} = property4#param;
     }
   get property5() → core::int
-    return this.{self::B1::_#B1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t8 = this.{self::B1::_#B1#property5}{core::int?} in #t8{core::int} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int #t9) → void
+    return this.{self::B1::_#B1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::B1::_#B1#property5}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("property5");
+  set property5(core::int property5#param) → void
     if(this.{self::B1::_#B1#property5#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property5");
     else {
       this.{self::B1::_#B1#property5#isSet} = true;
-      this.{self::B1::_#B1#property5} = #t9;
+      this.{self::B1::_#B1#property5} = property5#param;
     }
   get property6() → core::int?
     return this.{self::B1::_#B1#property6#isSet}{core::bool} ?{core::int?} this.{self::B1::_#B1#property6}{core::int?} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int? #t10) → void
+  set property6(core::int? property6#param) → void
     if(this.{self::B1::_#B1#property6#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property6");
     else {
       this.{self::B1::_#B1#property6#isSet} = true;
-      this.{self::B1::_#B1#property6} = #t10;
+      this.{self::B1::_#B1#property6} = property6#param;
     }
 }
 abstract class B2 extends core::Object implements self::B1 {
@@ -122,22 +122,22 @@
     : self::C1::_#C1#property4#isSet = true, self::C1::_#C1#property4 = property4, self::C1::_#C1#property5#isSet = true, self::C1::_#C1#property5 = property5, self::C1::_#C1#property6#isSet = true, self::C1::_#C1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return this.{self::C1::_#C1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::C1::_#C1#property4}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t12) → void {
+    return this.{self::C1::_#C1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::C1::_#C1#property4}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("property4");
+  set property4(core::int property4#param) → void {
     this.{self::C1::_#C1#property4#isSet} = true;
-    this.{self::C1::_#C1#property4} = #t12;
+    this.{self::C1::_#C1#property4} = property4#param;
   }
   get property5() → core::int
-    return this.{self::C1::_#C1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t13 = this.{self::C1::_#C1#property5}{core::int?} in #t13{core::int} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int #t14) → void {
+    return this.{self::C1::_#C1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::C1::_#C1#property5}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("property5");
+  set property5(core::int property5#param) → void {
     this.{self::C1::_#C1#property5#isSet} = true;
-    this.{self::C1::_#C1#property5} = #t14;
+    this.{self::C1::_#C1#property5} = property5#param;
   }
   get property6() → core::int
-    return this.{self::C1::_#C1#property6#isSet}{core::bool} ?{core::int} let final core::int? #t15 = this.{self::C1::_#C1#property6}{core::int?} in #t15{core::int} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int #t16) → void {
+    return this.{self::C1::_#C1#property6#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::C1::_#C1#property6}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("property6");
+  set property6(core::int property6#param) → void {
     this.{self::C1::_#C1#property6#isSet} = true;
-    this.{self::C1::_#C1#property6} = #t16;
+    this.{self::C1::_#C1#property6} = property6#param;
   }
 }
 abstract class C2 extends core::Object implements self::C1 {
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.modular.expect
index 12210ba..2c82cd2 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.modular.expect
@@ -48,21 +48,21 @@
     ;
   get property4() → core::int
     return this.{self::A::_#A#property4#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#property4}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t2) → void {
+  set property4(core::int property4#param) → void {
     this.{self::A::_#A#property4#isSet} = true;
-    this.{self::A::_#A#property4} = #t2;
+    this.{self::A::_#A#property4} = property4#param;
   }
   get property5() → core::int?
     return this.{self::A::_#A#property5#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#property5}{core::int?} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int? #t3) → void {
+  set property5(core::int? property5#param) → void {
     this.{self::A::_#A#property5#isSet} = true;
-    this.{self::A::_#A#property5} = #t3;
+    this.{self::A::_#A#property5} = property5#param;
   }
   get property6() → core::int
-    return this.{self::A::_#A#property6#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::A::_#A#property6}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("property6");
-  set property6(covariant-by-declaration core::int #t5) → void {
+    return this.{self::A::_#A#property6#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::A::_#A#property6}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("property6");
+  set property6(covariant-by-declaration core::int property6#param) → void {
     this.{self::A::_#A#property6#isSet} = true;
-    this.{self::A::_#A#property6} = #t5;
+    this.{self::A::_#A#property6} = property6#param;
   }
 }
 abstract class B1 extends core::Object {
@@ -76,31 +76,31 @@
     : self::B1::_#B1#property4#isSet = true, self::B1::_#B1#property4 = property4, self::B1::_#B1#property5#isSet = true, self::B1::_#B1#property5 = property5, self::B1::_#B1#property6#isSet = true, self::B1::_#B1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return this.{self::B1::_#B1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::B1::_#B1#property4}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t7) → void
+    return this.{self::B1::_#B1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::B1::_#B1#property4}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("property4");
+  set property4(core::int property4#param) → void
     if(this.{self::B1::_#B1#property4#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property4");
     else {
       this.{self::B1::_#B1#property4#isSet} = true;
-      this.{self::B1::_#B1#property4} = #t7;
+      this.{self::B1::_#B1#property4} = property4#param;
     }
   get property5() → core::int
-    return this.{self::B1::_#B1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t8 = this.{self::B1::_#B1#property5}{core::int?} in #t8{core::int} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int #t9) → void
+    return this.{self::B1::_#B1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::B1::_#B1#property5}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("property5");
+  set property5(core::int property5#param) → void
     if(this.{self::B1::_#B1#property5#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property5");
     else {
       this.{self::B1::_#B1#property5#isSet} = true;
-      this.{self::B1::_#B1#property5} = #t9;
+      this.{self::B1::_#B1#property5} = property5#param;
     }
   get property6() → core::int?
     return this.{self::B1::_#B1#property6#isSet}{core::bool} ?{core::int?} this.{self::B1::_#B1#property6}{core::int?} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int? #t10) → void
+  set property6(core::int? property6#param) → void
     if(this.{self::B1::_#B1#property6#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property6");
     else {
       this.{self::B1::_#B1#property6#isSet} = true;
-      this.{self::B1::_#B1#property6} = #t10;
+      this.{self::B1::_#B1#property6} = property6#param;
     }
 }
 abstract class B2 extends core::Object implements self::B1 {
@@ -122,22 +122,22 @@
     : self::C1::_#C1#property4#isSet = true, self::C1::_#C1#property4 = property4, self::C1::_#C1#property5#isSet = true, self::C1::_#C1#property5 = property5, self::C1::_#C1#property6#isSet = true, self::C1::_#C1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return this.{self::C1::_#C1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::C1::_#C1#property4}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t12) → void {
+    return this.{self::C1::_#C1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::C1::_#C1#property4}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("property4");
+  set property4(core::int property4#param) → void {
     this.{self::C1::_#C1#property4#isSet} = true;
-    this.{self::C1::_#C1#property4} = #t12;
+    this.{self::C1::_#C1#property4} = property4#param;
   }
   get property5() → core::int
-    return this.{self::C1::_#C1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t13 = this.{self::C1::_#C1#property5}{core::int?} in #t13{core::int} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int #t14) → void {
+    return this.{self::C1::_#C1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::C1::_#C1#property5}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("property5");
+  set property5(core::int property5#param) → void {
     this.{self::C1::_#C1#property5#isSet} = true;
-    this.{self::C1::_#C1#property5} = #t14;
+    this.{self::C1::_#C1#property5} = property5#param;
   }
   get property6() → core::int
-    return this.{self::C1::_#C1#property6#isSet}{core::bool} ?{core::int} let final core::int? #t15 = this.{self::C1::_#C1#property6}{core::int?} in #t15{core::int} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int #t16) → void {
+    return this.{self::C1::_#C1#property6#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::C1::_#C1#property6}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("property6");
+  set property6(core::int property6#param) → void {
     this.{self::C1::_#C1#property6#isSet} = true;
-    this.{self::C1::_#C1#property6} = #t16;
+    this.{self::C1::_#C1#property6} = property6#param;
   }
 }
 abstract class C2 extends core::Object implements self::C1 {
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.outline.expect
index 85eb6cb..3f51a7c2 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.outline.expect
@@ -45,11 +45,11 @@
   constructor •(core::int property4, core::int? property5, core::int property6) → self::A
     ;
   get property4() → core::int;
-  set property4(core::int #t1) → void;
+  set property4(core::int property4#param) → void;
   get property5() → core::int?;
-  set property5(core::int? #t2) → void;
+  set property5(core::int? property5#param) → void;
   get property6() → core::int;
-  set property6(covariant-by-declaration core::int #t3) → void;
+  set property6(covariant-by-declaration core::int property6#param) → void;
 }
 abstract class B1 extends core::Object {
   field core::int? _#B1#property4;
@@ -61,11 +61,11 @@
   constructor •(core::int property4, core::int property5, core::int? property6) → self::B1
     ;
   get property4() → core::int;
-  set property4(core::int #t4) → void;
+  set property4(core::int property4#param) → void;
   get property5() → core::int;
-  set property5(core::int #t5) → void;
+  set property5(core::int property5#param) → void;
   get property6() → core::int?;
-  set property6(core::int? #t6) → void;
+  set property6(core::int? property6#param) → void;
 }
 abstract class B2 extends core::Object implements self::B1 {
   synthetic constructor •() → self::B2
@@ -84,11 +84,11 @@
   constructor •(core::int property4, core::int property5, core::int property6) → self::C1
     ;
   get property4() → core::int;
-  set property4(core::int #t7) → void;
+  set property4(core::int property4#param) → void;
   get property5() → core::int;
-  set property5(core::int #t8) → void;
+  set property5(core::int property5#param) → void;
   get property6() → core::int;
-  set property6(core::int #t9) → void;
+  set property6(core::int property6#param) → void;
 }
 abstract class C2 extends core::Object implements self::C1 {
   synthetic constructor •() → self::C2
diff --git a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.transformed.expect
index 12210ba..2c82cd2 100644
--- a/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/getter_vs_setter_type.dart.weak.transformed.expect
@@ -48,21 +48,21 @@
     ;
   get property4() → core::int
     return this.{self::A::_#A#property4#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#property4}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t2) → void {
+  set property4(core::int property4#param) → void {
     this.{self::A::_#A#property4#isSet} = true;
-    this.{self::A::_#A#property4} = #t2;
+    this.{self::A::_#A#property4} = property4#param;
   }
   get property5() → core::int?
     return this.{self::A::_#A#property5#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#property5}{core::int?} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int? #t3) → void {
+  set property5(core::int? property5#param) → void {
     this.{self::A::_#A#property5#isSet} = true;
-    this.{self::A::_#A#property5} = #t3;
+    this.{self::A::_#A#property5} = property5#param;
   }
   get property6() → core::int
-    return this.{self::A::_#A#property6#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::A::_#A#property6}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("property6");
-  set property6(covariant-by-declaration core::int #t5) → void {
+    return this.{self::A::_#A#property6#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::A::_#A#property6}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("property6");
+  set property6(covariant-by-declaration core::int property6#param) → void {
     this.{self::A::_#A#property6#isSet} = true;
-    this.{self::A::_#A#property6} = #t5;
+    this.{self::A::_#A#property6} = property6#param;
   }
 }
 abstract class B1 extends core::Object {
@@ -76,31 +76,31 @@
     : self::B1::_#B1#property4#isSet = true, self::B1::_#B1#property4 = property4, self::B1::_#B1#property5#isSet = true, self::B1::_#B1#property5 = property5, self::B1::_#B1#property6#isSet = true, self::B1::_#B1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return this.{self::B1::_#B1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::B1::_#B1#property4}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t7) → void
+    return this.{self::B1::_#B1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::B1::_#B1#property4}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("property4");
+  set property4(core::int property4#param) → void
     if(this.{self::B1::_#B1#property4#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property4");
     else {
       this.{self::B1::_#B1#property4#isSet} = true;
-      this.{self::B1::_#B1#property4} = #t7;
+      this.{self::B1::_#B1#property4} = property4#param;
     }
   get property5() → core::int
-    return this.{self::B1::_#B1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t8 = this.{self::B1::_#B1#property5}{core::int?} in #t8{core::int} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int #t9) → void
+    return this.{self::B1::_#B1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::B1::_#B1#property5}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("property5");
+  set property5(core::int property5#param) → void
     if(this.{self::B1::_#B1#property5#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property5");
     else {
       this.{self::B1::_#B1#property5#isSet} = true;
-      this.{self::B1::_#B1#property5} = #t9;
+      this.{self::B1::_#B1#property5} = property5#param;
     }
   get property6() → core::int?
     return this.{self::B1::_#B1#property6#isSet}{core::bool} ?{core::int?} this.{self::B1::_#B1#property6}{core::int?} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int? #t10) → void
+  set property6(core::int? property6#param) → void
     if(this.{self::B1::_#B1#property6#isSet}{core::bool})
       throw new _in::LateError::fieldAI("property6");
     else {
       this.{self::B1::_#B1#property6#isSet} = true;
-      this.{self::B1::_#B1#property6} = #t10;
+      this.{self::B1::_#B1#property6} = property6#param;
     }
 }
 abstract class B2 extends core::Object implements self::B1 {
@@ -122,22 +122,22 @@
     : self::C1::_#C1#property4#isSet = true, self::C1::_#C1#property4 = property4, self::C1::_#C1#property5#isSet = true, self::C1::_#C1#property5 = property5, self::C1::_#C1#property6#isSet = true, self::C1::_#C1#property6 = property6, super core::Object::•()
     ;
   get property4() → core::int
-    return this.{self::C1::_#C1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::C1::_#C1#property4}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("property4");
-  set property4(core::int #t12) → void {
+    return this.{self::C1::_#C1#property4#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::C1::_#C1#property4}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("property4");
+  set property4(core::int property4#param) → void {
     this.{self::C1::_#C1#property4#isSet} = true;
-    this.{self::C1::_#C1#property4} = #t12;
+    this.{self::C1::_#C1#property4} = property4#param;
   }
   get property5() → core::int
-    return this.{self::C1::_#C1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t13 = this.{self::C1::_#C1#property5}{core::int?} in #t13{core::int} : throw new _in::LateError::fieldNI("property5");
-  set property5(core::int #t14) → void {
+    return this.{self::C1::_#C1#property5#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::C1::_#C1#property5}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("property5");
+  set property5(core::int property5#param) → void {
     this.{self::C1::_#C1#property5#isSet} = true;
-    this.{self::C1::_#C1#property5} = #t14;
+    this.{self::C1::_#C1#property5} = property5#param;
   }
   get property6() → core::int
-    return this.{self::C1::_#C1#property6#isSet}{core::bool} ?{core::int} let final core::int? #t15 = this.{self::C1::_#C1#property6}{core::int?} in #t15{core::int} : throw new _in::LateError::fieldNI("property6");
-  set property6(core::int #t16) → void {
+    return this.{self::C1::_#C1#property6#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::C1::_#C1#property6}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("property6");
+  set property6(core::int property6#param) → void {
     this.{self::C1::_#C1#property6#isSet} = true;
-    this.{self::C1::_#C1#property6} = #t16;
+    this.{self::C1::_#C1#property6} = property6#param;
   }
 }
 abstract class C2 extends core::Object implements self::C1 {
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect
index 5f86747..f225d42 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.expect
@@ -9,7 +9,7 @@
   lowered core::int? #local;
   function #local#get() → core::int
     return let final core::int? #t1 = #local in #t1 == null ?{core::int} throw new _in::LateError::localNI("local") : #t1{core::int};
-  function #local#set(core::int #t2) → dynamic
-    return #local = #t2;
+  function #local#set(core::int local#param) → dynamic
+    return #local = local#param;
   #local#set(self::f<core::int>(0)){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect
index 5f86747..f225d42 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.strong.transformed.expect
@@ -9,7 +9,7 @@
   lowered core::int? #local;
   function #local#get() → core::int
     return let final core::int? #t1 = #local in #t1 == null ?{core::int} throw new _in::LateError::localNI("local") : #t1{core::int};
-  function #local#set(core::int #t2) → dynamic
-    return #local = #t2;
+  function #local#set(core::int local#param) → dynamic
+    return #local = local#param;
   #local#set(self::f<core::int>(0)){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect
index 6d53db1..07d3c1b 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.expect
@@ -10,9 +10,9 @@
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t1) → dynamic {
+  function #local#set(core::int local#param) → dynamic {
     #local#isSet = true;
-    return #local = #t1;
+    return #local = local#param;
   }
   #local#set(self::f<core::int>(0)){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.modular.expect
index 6d53db1..07d3c1b 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.modular.expect
@@ -10,9 +10,9 @@
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t1) → dynamic {
+  function #local#set(core::int local#param) → dynamic {
     #local#isSet = true;
-    return #local = #t1;
+    return #local = local#param;
   }
   #local#set(self::f<core::int>(0)){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect
index 6d53db1..07d3c1b 100644
--- a/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_from_late_variable.dart.weak.transformed.expect
@@ -10,9 +10,9 @@
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t1) → dynamic {
+  function #local#set(core::int local#param) → dynamic {
     #local#isSet = true;
-    return #local = #t1;
+    return #local = local#param;
   }
   #local#set(self::f<core::int>(0)){(core::int) → dynamic};
 }
diff --git a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.expect b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.expect
index f6de289..8f158dd 100644
--- a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.expect
@@ -17,9 +17,9 @@
     ;
   get field() → core::int?
     return this.{self::B::_#B#field#isSet}{core::bool} ?{core::int?} this.{self::B::_#B#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::B::_#B#field#isSet} = true;
-    this.{self::B::_#B#field} = #t1;
+    this.{self::B::_#B#field} = field#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.transformed.expect
index f6de289..8f158dd 100644
--- a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.strong.transformed.expect
@@ -17,9 +17,9 @@
     ;
   get field() → core::int?
     return this.{self::B::_#B#field#isSet}{core::bool} ?{core::int?} this.{self::B::_#B#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::B::_#B#field#isSet} = true;
-    this.{self::B::_#B#field} = #t1;
+    this.{self::B::_#B#field} = field#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.expect b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.expect
index f6de289..8f158dd 100644
--- a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.expect
@@ -17,9 +17,9 @@
     ;
   get field() → core::int?
     return this.{self::B::_#B#field#isSet}{core::bool} ?{core::int?} this.{self::B::_#B#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::B::_#B#field#isSet} = true;
-    this.{self::B::_#B#field} = #t1;
+    this.{self::B::_#B#field} = field#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.modular.expect
index f6de289..8f158dd 100644
--- a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.modular.expect
@@ -17,9 +17,9 @@
     ;
   get field() → core::int?
     return this.{self::B::_#B#field#isSet}{core::bool} ?{core::int?} this.{self::B::_#B#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::B::_#B#field#isSet} = true;
-    this.{self::B::_#B#field} = #t1;
+    this.{self::B::_#B#field} = field#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.outline.expect
index c636c33..ba39148 100644
--- a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.outline.expect
@@ -13,7 +13,7 @@
   synthetic constructor •() → self::B
     ;
   get field() → core::int?;
-  set field(core::int? #t1) → void;
+  set field(core::int? field#param) → void;
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.transformed.expect
index f6de289..8f158dd 100644
--- a/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/infer_late_field_type.dart.weak.transformed.expect
@@ -17,9 +17,9 @@
     ;
   get field() → core::int?
     return this.{self::B::_#B#field#isSet}{core::bool} ?{core::int?} this.{self::B::_#B#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::B::_#B#field#isSet} = true;
-    this.{self::B::_#B#field} = #t1;
+    this.{self::B::_#B#field} = field#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect
index abaed59..ca096ac 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.expect
@@ -23,8 +23,8 @@
     ;
   get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int
     return let final core::int? #t1 = this.{self2::Class::_#Class#foo}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("foo") : #t1{core::int};
-  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t2) → void
-    this.{self2::Class::_#Class#foo} = #t2;
+  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int foo#param) → void
+    this.{self2::Class::_#Class#foo} = foo#param;
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect
index abaed59..ca096ac 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.strong.transformed.expect
@@ -23,8 +23,8 @@
     ;
   get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int
     return let final core::int? #t1 = this.{self2::Class::_#Class#foo}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("foo") : #t1{core::int};
-  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t2) → void
-    this.{self2::Class::_#Class#foo} = #t2;
+  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int foo#param) → void
+    this.{self2::Class::_#Class#foo} = foo#param;
 }
 
 constants  {
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.expect
index 75e0cf4..a31a4de 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.expect
@@ -24,9 +24,9 @@
     ;
   get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int
     return this.{self2::Class::_#Class#foo#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self2::Class::_#Class#foo}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("foo");
-  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t2) → void {
+  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int foo#param) → void {
     this.{self2::Class::_#Class#foo#isSet} = true;
-    this.{self2::Class::_#Class#foo} = #t2;
+    this.{self2::Class::_#Class#foo} = foo#param;
   }
 }
 
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.modular.expect
index 75e0cf4..a31a4de 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.modular.expect
@@ -24,9 +24,9 @@
     ;
   get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int
     return this.{self2::Class::_#Class#foo#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self2::Class::_#Class#foo}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("foo");
-  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t2) → void {
+  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int foo#param) → void {
     this.{self2::Class::_#Class#foo#isSet} = true;
-    this.{self2::Class::_#Class#foo} = #t2;
+    this.{self2::Class::_#Class#foo} = foo#param;
   }
 }
 
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.outline.expect
index c992638..9029f33 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.outline.expect
@@ -22,7 +22,7 @@
   constructor baz(core::int foo) → self2::Class
     ;
   get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int;
-  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t1) → void;
+  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int foo#param) → void;
 }
 
 
diff --git a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.transformed.expect
index 75e0cf4..a31a4de 100644
--- a/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/injected_late_field_checks/main.dart.weak.transformed.expect
@@ -24,9 +24,9 @@
     ;
   get /* from org-dartlang-testcase:///patch_lib.dart */ foo() → core::int
     return this.{self2::Class::_#Class#foo#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self2::Class::_#Class#foo}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("foo");
-  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int #t2) → void {
+  set /* from org-dartlang-testcase:///patch_lib.dart */ foo(core::int foo#param) → void {
     this.{self2::Class::_#Class#foo#isSet} = true;
-    this.{self2::Class::_#Class#foo} = #t2;
+    this.{self2::Class::_#Class#foo} = foo#param;
   }
 }
 
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect
index df03fdf..5a5f135 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.expect
@@ -18,8 +18,8 @@
     ;
   get field() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1 == null ?{core::int} this.{self::Class::_#Class#field} = 10 : #t1{core::int};
-  set field(core::int #t2) → void
-    this.{self::Class::_#Class#field} = #t2;
+  set field(core::int field#param) → void
+    this.{self::Class::_#Class#field} = field#param;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect
index df03fdf..5a5f135 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.strong.transformed.expect
@@ -18,8 +18,8 @@
     ;
   get field() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1 == null ?{core::int} this.{self::Class::_#Class#field} = 10 : #t1{core::int};
-  set field(core::int #t2) → void
-    this.{self::Class::_#Class#field} = #t2;
+  set field(core::int field#param) → void
+    this.{self::Class::_#Class#field} = field#param;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect
index ccb0618..1de629b 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.expect
@@ -24,9 +24,9 @@
     }
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int};
   }
-  set field(core::int #t2) → void {
+  set field(core::int field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t2;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.modular.expect
index ccb0618..1de629b 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.modular.expect
@@ -24,9 +24,9 @@
     }
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int};
   }
-  set field(core::int #t2) → void {
+  set field(core::int field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t2;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.outline.expect
index 6ae21b7..9cab5c3 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.outline.expect
@@ -14,7 +14,7 @@
   constructor constructor4([core::int field = 42]) → self::Class
     ;
   get field() → core::int;
-  set field(core::int #t1) → void;
+  set field(core::int field#param) → void;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect
index ccb0618..1de629b 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_with_initializer.dart.weak.transformed.expect
@@ -24,9 +24,9 @@
     }
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int};
   }
-  set field(core::int #t2) → void {
+  set field(core::int field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t2;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect
index 8218ba0..1bdbe34 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.expect
@@ -19,8 +19,8 @@
     ;
   get field() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
-  set field(core::int #t2) → void
-    this.{self::Class::_#Class#field} = #t2;
+  set field(core::int field#param) → void
+    this.{self::Class::_#Class#field} = field#param;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect
index 8218ba0..1bdbe34 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.strong.transformed.expect
@@ -19,8 +19,8 @@
     ;
   get field() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
-  set field(core::int #t2) → void
-    this.{self::Class::_#Class#field} = #t2;
+  set field(core::int field#param) → void
+    this.{self::Class::_#Class#field} = field#param;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect
index b2fdacb..29a974d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field");
-  set field(core::int #t2) → void {
+  set field(core::int field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t2;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.modular.expect
index b2fdacb..29a974d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.modular.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field");
-  set field(core::int #t2) → void {
+  set field(core::int field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t2;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.outline.expect
index b454862..7029e3d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.outline.expect
@@ -14,7 +14,7 @@
   constructor constructor4([core::int field = 42]) → self::Class
     ;
   get field() → core::int;
-  set field(core::int #t1) → void;
+  set field(core::int field#param) → void;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect
index b2fdacb..29a974d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_field_without_initializer.dart.weak.transformed.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field");
-  set field(core::int #t2) → void {
+  set field(core::int field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t2;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect
index 33596c4..a7a63df 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.expect
@@ -19,9 +19,9 @@
     ;
   get field() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
-  set field(core::int #t2) → void
+  set field(core::int field#param) → void
     if(this.{self::Class::_#Class#field}{core::int?} == null)
-      this.{self::Class::_#Class#field} = #t2;
+      this.{self::Class::_#Class#field} = field#param;
     else
       throw new _in::LateError::fieldAI("field");
 }
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect
index 33596c4..a7a63df 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.strong.transformed.expect
@@ -19,9 +19,9 @@
     ;
   get field() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field") : #t1{core::int};
-  set field(core::int #t2) → void
+  set field(core::int field#param) → void
     if(this.{self::Class::_#Class#field}{core::int?} == null)
-      this.{self::Class::_#Class#field} = #t2;
+      this.{self::Class::_#Class#field} = field#param;
     else
       throw new _in::LateError::fieldAI("field");
 }
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect
index 463e342..466dc3f 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field");
-  set field(core::int #t2) → void
+  set field(core::int field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t2;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.modular.expect
index 463e342..466dc3f 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.modular.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field");
-  set field(core::int #t2) → void
+  set field(core::int field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t2;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.outline.expect
index b454862..7029e3d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.outline.expect
@@ -14,7 +14,7 @@
   constructor constructor4([core::int field = 42]) → self::Class
     ;
   get field() → core::int;
-  set field(core::int #t1) → void;
+  set field(core::int field#param) → void;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect
index 463e342..466dc3f 100644
--- a/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_final_field_without_initializer.dart.weak.transformed.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field");
-  set field(core::int #t2) → void
+  set field(core::int field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t2;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect
index 5a147d7..018d49d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.expect
@@ -24,9 +24,9 @@
     }
     return this.{self::Class::_#Class#field}{core::int?};
   }
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect
index 5a147d7..018d49d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.strong.transformed.expect
@@ -24,9 +24,9 @@
     }
     return this.{self::Class::_#Class#field}{core::int?};
   }
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect
index 5a147d7..018d49d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.expect
@@ -24,9 +24,9 @@
     }
     return this.{self::Class::_#Class#field}{core::int?};
   }
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.modular.expect
index 5a147d7..018d49d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.modular.expect
@@ -24,9 +24,9 @@
     }
     return this.{self::Class::_#Class#field}{core::int?};
   }
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.outline.expect
index dfec80d..f4bf6ec 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.outline.expect
@@ -14,7 +14,7 @@
   constructor constructor4([core::int? field = 42]) → self::Class
     ;
   get field() → core::int?;
-  set field(core::int? #t1) → void;
+  set field(core::int? field#param) → void;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect
index 5a147d7..018d49d 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_with_initializer.dart.weak.transformed.expect
@@ -24,9 +24,9 @@
     }
     return this.{self::Class::_#Class#field}{core::int?};
   }
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect
index 58f7272..5d23ef8 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect
index 58f7272..5d23ef8 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.strong.transformed.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect
index 58f7272..5d23ef8 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.modular.expect
index 58f7272..5d23ef8 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.modular.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.outline.expect
index 4c71a87..543b136 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.outline.expect
@@ -14,7 +14,7 @@
   constructor constructor4([core::int? field = 42]) → self::Class
     ;
   get field() → core::int?;
-  set field(core::int? #t1) → void;
+  set field(core::int? field#param) → void;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect
index 58f7272..5d23ef8 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_field_without_initializer.dart.weak.transformed.expect
@@ -20,9 +20,9 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void {
+  set field(core::int? field#param) → void {
     this.{self::Class::_#Class#field#isSet} = true;
-    this.{self::Class::_#Class#field} = #t1;
+    this.{self::Class::_#Class#field} = field#param;
   }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect
index 8bbbcaf..6f2de7c 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void
+  set field(core::int? field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t1;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect
index 8bbbcaf..6f2de7c 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.strong.transformed.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void
+  set field(core::int? field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t1;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect
index 8bbbcaf..6f2de7c 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void
+  set field(core::int? field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t1;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.modular.expect
index 8bbbcaf..6f2de7c 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.modular.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void
+  set field(core::int? field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t1;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.outline.expect
index 4c71a87..543b136 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.outline.expect
@@ -14,7 +14,7 @@
   constructor constructor4([core::int? field = 42]) → self::Class
     ;
   get field() → core::int?;
-  set field(core::int? #t1) → void;
+  set field(core::int? field#param) → void;
 }
 class Subclass extends self::Class {
   constructor constructor1() → self::Subclass
diff --git a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect
index 8bbbcaf..6f2de7c 100644
--- a/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/instance_nullable_final_field_without_initializer.dart.weak.transformed.expect
@@ -20,12 +20,12 @@
     ;
   get field() → core::int?
     return this.{self::Class::_#Class#field#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#field}{core::int?} : throw new _in::LateError::fieldNI("field");
-  set field(core::int? #t1) → void
+  set field(core::int? field#param) → void
     if(this.{self::Class::_#Class#field#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field");
     else {
       this.{self::Class::_#Class#field#isSet} = true;
-      this.{self::Class::_#Class#field} = #t1;
+      this.{self::Class::_#Class#field} = field#param;
     }
 }
 class Subclass extends self::Class {
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect
index 5064c1b..24cfe6f 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.expect
@@ -13,10 +13,10 @@
     ;
   get p1() → core::num
     return let final core::num? #t1 = this.{self::C::_#C#p1}{core::num?} in #t1 == null ?{core::num} this.{self::C::_#C#p1} = this.{self::C::pi}{core::num} : #t1{core::num};
-  set p1(core::num #t2) → void
-    this.{self::C::_#C#p1} = #t2;
+  set p1(core::num p1#param) → void
+    this.{self::C::_#C#p1} = p1#param;
   get p2() → core::num
-    return let final core::num? #t3 = this.{self::C::_#C#p2}{core::num?} in #t3 == null ?{core::num} let final core::num #t4 = this.{self::C::pi}{core::num} in this.{self::C::_#C#p2}{core::num?} == null ?{core::num} this.{self::C::_#C#p2} = #t4 : throw new _in::LateError::fieldADI("p2") : #t3{core::num};
+    return let final core::num? #t2 = this.{self::C::_#C#p2}{core::num?} in #t2 == null ?{core::num} let final core::num #t3 = this.{self::C::pi}{core::num} in this.{self::C::_#C#p2}{core::num?} == null ?{core::num} this.{self::C::_#C#p2} = #t3 : throw new _in::LateError::fieldADI("p2") : #t2{core::num};
 }
 static method main() → dynamic {
   self::expect(3.14, new self::C::•().{self::C::p1}{core::num});
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect
index 5064c1b..24cfe6f 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.strong.transformed.expect
@@ -13,10 +13,10 @@
     ;
   get p1() → core::num
     return let final core::num? #t1 = this.{self::C::_#C#p1}{core::num?} in #t1 == null ?{core::num} this.{self::C::_#C#p1} = this.{self::C::pi}{core::num} : #t1{core::num};
-  set p1(core::num #t2) → void
-    this.{self::C::_#C#p1} = #t2;
+  set p1(core::num p1#param) → void
+    this.{self::C::_#C#p1} = p1#param;
   get p2() → core::num
-    return let final core::num? #t3 = this.{self::C::_#C#p2}{core::num?} in #t3 == null ?{core::num} let final core::num #t4 = this.{self::C::pi}{core::num} in this.{self::C::_#C#p2}{core::num?} == null ?{core::num} this.{self::C::_#C#p2} = #t4 : throw new _in::LateError::fieldADI("p2") : #t3{core::num};
+    return let final core::num? #t2 = this.{self::C::_#C#p2}{core::num?} in #t2 == null ?{core::num} let final core::num #t3 = this.{self::C::pi}{core::num} in this.{self::C::_#C#p2}{core::num?} == null ?{core::num} this.{self::C::_#C#p2} = #t3 : throw new _in::LateError::fieldADI("p2") : #t2{core::num};
 }
 static method main() → dynamic {
   self::expect(3.14, new self::C::•().{self::C::p1}{core::num});
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect
index 32f6e7c..8502e1d 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.expect
@@ -19,19 +19,19 @@
     }
     return let final core::num? #t1 = this.{self::C::_#C#p1}{core::num?} in #t1{core::num};
   }
-  set p1(core::num #t2) → void {
+  set p1(core::num p1#param) → void {
     this.{self::C::_#C#p1#isSet} = true;
-    this.{self::C::_#C#p1} = #t2;
+    this.{self::C::_#C#p1} = p1#param;
   }
   get p2() → core::num {
     if(!this.{self::C::_#C#p2#isSet}{core::bool}) {
-      final core::num #t3 = this.{self::C::pi}{core::num};
+      final core::num #t2 = this.{self::C::pi}{core::num};
       if(this.{self::C::_#C#p2#isSet}{core::bool})
         throw new _in::LateError::fieldADI("p2");
-      this.{self::C::_#C#p2} = #t3;
+      this.{self::C::_#C#p2} = #t2;
       this.{self::C::_#C#p2#isSet} = true;
     }
-    return let final core::num? #t4 = this.{self::C::_#C#p2}{core::num?} in #t4{core::num};
+    return let final core::num? #t3 = this.{self::C::_#C#p2}{core::num?} in #t3{core::num};
   }
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.modular.expect
index 32f6e7c..8502e1d 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.modular.expect
@@ -19,19 +19,19 @@
     }
     return let final core::num? #t1 = this.{self::C::_#C#p1}{core::num?} in #t1{core::num};
   }
-  set p1(core::num #t2) → void {
+  set p1(core::num p1#param) → void {
     this.{self::C::_#C#p1#isSet} = true;
-    this.{self::C::_#C#p1} = #t2;
+    this.{self::C::_#C#p1} = p1#param;
   }
   get p2() → core::num {
     if(!this.{self::C::_#C#p2#isSet}{core::bool}) {
-      final core::num #t3 = this.{self::C::pi}{core::num};
+      final core::num #t2 = this.{self::C::pi}{core::num};
       if(this.{self::C::_#C#p2#isSet}{core::bool})
         throw new _in::LateError::fieldADI("p2");
-      this.{self::C::_#C#p2} = #t3;
+      this.{self::C::_#C#p2} = #t2;
       this.{self::C::_#C#p2#isSet} = true;
     }
-    return let final core::num? #t4 = this.{self::C::_#C#p2}{core::num?} in #t4{core::num};
+    return let final core::num? #t3 = this.{self::C::_#C#p2}{core::num?} in #t3{core::num};
   }
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.outline.expect
index 215d735..81f199b 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.outline.expect
@@ -11,7 +11,7 @@
   synthetic constructor •() → self::C
     ;
   get p1() → core::num;
-  set p1(core::num #t1) → void;
+  set p1(core::num p1#param) → void;
   get p2() → core::num;
 }
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect
index 32f6e7c..8502e1d 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373.dart.weak.transformed.expect
@@ -19,19 +19,19 @@
     }
     return let final core::num? #t1 = this.{self::C::_#C#p1}{core::num?} in #t1{core::num};
   }
-  set p1(core::num #t2) → void {
+  set p1(core::num p1#param) → void {
     this.{self::C::_#C#p1#isSet} = true;
-    this.{self::C::_#C#p1} = #t2;
+    this.{self::C::_#C#p1} = p1#param;
   }
   get p2() → core::num {
     if(!this.{self::C::_#C#p2#isSet}{core::bool}) {
-      final core::num #t3 = this.{self::C::pi}{core::num};
+      final core::num #t2 = this.{self::C::pi}{core::num};
       if(this.{self::C::_#C#p2#isSet}{core::bool})
         throw new _in::LateError::fieldADI("p2");
-      this.{self::C::_#C#p2} = #t3;
+      this.{self::C::_#C#p2} = #t2;
       this.{self::C::_#C#p2#isSet} = true;
     }
-    return let final core::num? #t4 = this.{self::C::_#C#p2}{core::num?} in #t4{core::num};
+    return let final core::num? #t3 = this.{self::C::_#C#p2}{core::num?} in #t3{core::num};
   }
 }
 static method main() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect
index 149d652..284bc957 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.expect
@@ -13,45 +13,45 @@
     ;
   static get s() → dynamic
     return self::C::_#s#isSet ?{dynamic} self::C::_#s : throw new _in::LateError::fieldNI("s");
-  static set s(dynamic #t1) → void
+  static set s(dynamic s#param) → void
     if(self::C::_#s#isSet)
       throw new _in::LateError::fieldAI("s");
     else {
       self::C::_#s#isSet = true;
-      self::C::_#s = #t1;
+      self::C::_#s = s#param;
     }
   get v() → dynamic
     return this.{self::C::_#C#v#isSet}{core::bool} ?{dynamic} this.{self::C::_#C#v}{dynamic} : throw new _in::LateError::fieldNI("v");
-  set v(dynamic #t2) → void
+  set v(dynamic v#param) → void
     if(this.{self::C::_#C#v#isSet}{core::bool})
       throw new _in::LateError::fieldAI("v");
     else {
       this.{self::C::_#C#v#isSet} = true;
-      this.{self::C::_#C#v} = #t2;
+      this.{self::C::_#C#v} = v#param;
     }
 }
 static field dynamic _#g = null;
 static field core::bool _#g#isSet = false;
 static get g() → dynamic
   return self::_#g#isSet ?{dynamic} self::_#g : throw new _in::LateError::fieldNI("g");
-static set g(dynamic #t3) → void
+static set g(dynamic g#param) → void
   if(self::_#g#isSet)
     throw new _in::LateError::fieldAI("g");
   else {
     self::_#g#isSet = true;
-    self::_#g = #t3;
+    self::_#g = g#param;
   }
 static method main() → dynamic {
   lowered final dynamic #l;
   lowered core::bool #l#isSet = false;
   function #l#get() → dynamic
     return #l#isSet ?{dynamic} #l : throw new _in::LateError::localNI("l");
-  function #l#set(dynamic #t4) → dynamic
+  function #l#set(dynamic l#param) → dynamic
     if(#l#isSet)
       throw new _in::LateError::localAI("l");
     else {
       #l#isSet = true;
-      return #l = #t4;
+      return #l = l#param;
     }
   self::g = "Lily";
   self::C::s = "was";
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect
index 149d652..284bc957 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.strong.transformed.expect
@@ -13,45 +13,45 @@
     ;
   static get s() → dynamic
     return self::C::_#s#isSet ?{dynamic} self::C::_#s : throw new _in::LateError::fieldNI("s");
-  static set s(dynamic #t1) → void
+  static set s(dynamic s#param) → void
     if(self::C::_#s#isSet)
       throw new _in::LateError::fieldAI("s");
     else {
       self::C::_#s#isSet = true;
-      self::C::_#s = #t1;
+      self::C::_#s = s#param;
     }
   get v() → dynamic
     return this.{self::C::_#C#v#isSet}{core::bool} ?{dynamic} this.{self::C::_#C#v}{dynamic} : throw new _in::LateError::fieldNI("v");
-  set v(dynamic #t2) → void
+  set v(dynamic v#param) → void
     if(this.{self::C::_#C#v#isSet}{core::bool})
       throw new _in::LateError::fieldAI("v");
     else {
       this.{self::C::_#C#v#isSet} = true;
-      this.{self::C::_#C#v} = #t2;
+      this.{self::C::_#C#v} = v#param;
     }
 }
 static field dynamic _#g = null;
 static field core::bool _#g#isSet = false;
 static get g() → dynamic
   return self::_#g#isSet ?{dynamic} self::_#g : throw new _in::LateError::fieldNI("g");
-static set g(dynamic #t3) → void
+static set g(dynamic g#param) → void
   if(self::_#g#isSet)
     throw new _in::LateError::fieldAI("g");
   else {
     self::_#g#isSet = true;
-    self::_#g = #t3;
+    self::_#g = g#param;
   }
 static method main() → dynamic {
   lowered final dynamic #l;
   lowered core::bool #l#isSet = false;
   function #l#get() → dynamic
     return #l#isSet ?{dynamic} #l : throw new _in::LateError::localNI("l");
-  function #l#set(dynamic #t4) → dynamic
+  function #l#set(dynamic l#param) → dynamic
     if(#l#isSet)
       throw new _in::LateError::localAI("l");
     else {
       #l#isSet = true;
-      return #l = #t4;
+      return #l = l#param;
     }
   self::g = "Lily";
   self::C::s = "was";
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect
index 149d652..284bc957 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.expect
@@ -13,45 +13,45 @@
     ;
   static get s() → dynamic
     return self::C::_#s#isSet ?{dynamic} self::C::_#s : throw new _in::LateError::fieldNI("s");
-  static set s(dynamic #t1) → void
+  static set s(dynamic s#param) → void
     if(self::C::_#s#isSet)
       throw new _in::LateError::fieldAI("s");
     else {
       self::C::_#s#isSet = true;
-      self::C::_#s = #t1;
+      self::C::_#s = s#param;
     }
   get v() → dynamic
     return this.{self::C::_#C#v#isSet}{core::bool} ?{dynamic} this.{self::C::_#C#v}{dynamic} : throw new _in::LateError::fieldNI("v");
-  set v(dynamic #t2) → void
+  set v(dynamic v#param) → void
     if(this.{self::C::_#C#v#isSet}{core::bool})
       throw new _in::LateError::fieldAI("v");
     else {
       this.{self::C::_#C#v#isSet} = true;
-      this.{self::C::_#C#v} = #t2;
+      this.{self::C::_#C#v} = v#param;
     }
 }
 static field dynamic _#g = null;
 static field core::bool _#g#isSet = false;
 static get g() → dynamic
   return self::_#g#isSet ?{dynamic} self::_#g : throw new _in::LateError::fieldNI("g");
-static set g(dynamic #t3) → void
+static set g(dynamic g#param) → void
   if(self::_#g#isSet)
     throw new _in::LateError::fieldAI("g");
   else {
     self::_#g#isSet = true;
-    self::_#g = #t3;
+    self::_#g = g#param;
   }
 static method main() → dynamic {
   lowered final dynamic #l;
   lowered core::bool #l#isSet = false;
   function #l#get() → dynamic
     return #l#isSet ?{dynamic} #l : throw new _in::LateError::localNI("l");
-  function #l#set(dynamic #t4) → dynamic
+  function #l#set(dynamic l#param) → dynamic
     if(#l#isSet)
       throw new _in::LateError::localAI("l");
     else {
       #l#isSet = true;
-      return #l = #t4;
+      return #l = l#param;
     }
   self::g = "Lily";
   self::C::s = "was";
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.modular.expect
index 149d652..284bc957 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.modular.expect
@@ -13,45 +13,45 @@
     ;
   static get s() → dynamic
     return self::C::_#s#isSet ?{dynamic} self::C::_#s : throw new _in::LateError::fieldNI("s");
-  static set s(dynamic #t1) → void
+  static set s(dynamic s#param) → void
     if(self::C::_#s#isSet)
       throw new _in::LateError::fieldAI("s");
     else {
       self::C::_#s#isSet = true;
-      self::C::_#s = #t1;
+      self::C::_#s = s#param;
     }
   get v() → dynamic
     return this.{self::C::_#C#v#isSet}{core::bool} ?{dynamic} this.{self::C::_#C#v}{dynamic} : throw new _in::LateError::fieldNI("v");
-  set v(dynamic #t2) → void
+  set v(dynamic v#param) → void
     if(this.{self::C::_#C#v#isSet}{core::bool})
       throw new _in::LateError::fieldAI("v");
     else {
       this.{self::C::_#C#v#isSet} = true;
-      this.{self::C::_#C#v} = #t2;
+      this.{self::C::_#C#v} = v#param;
     }
 }
 static field dynamic _#g = null;
 static field core::bool _#g#isSet = false;
 static get g() → dynamic
   return self::_#g#isSet ?{dynamic} self::_#g : throw new _in::LateError::fieldNI("g");
-static set g(dynamic #t3) → void
+static set g(dynamic g#param) → void
   if(self::_#g#isSet)
     throw new _in::LateError::fieldAI("g");
   else {
     self::_#g#isSet = true;
-    self::_#g = #t3;
+    self::_#g = g#param;
   }
 static method main() → dynamic {
   lowered final dynamic #l;
   lowered core::bool #l#isSet = false;
   function #l#get() → dynamic
     return #l#isSet ?{dynamic} #l : throw new _in::LateError::localNI("l");
-  function #l#set(dynamic #t4) → dynamic
+  function #l#set(dynamic l#param) → dynamic
     if(#l#isSet)
       throw new _in::LateError::localAI("l");
     else {
       #l#isSet = true;
-      return #l = #t4;
+      return #l = l#param;
     }
   self::g = "Lily";
   self::C::s = "was";
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.outline.expect
index fc0f631..4ad01ae 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.outline.expect
@@ -10,14 +10,14 @@
   synthetic constructor •() → self::C
     ;
   static get s() → dynamic;
-  static set s(dynamic #t1) → void;
+  static set s(dynamic s#param) → void;
   get v() → dynamic;
-  set v(dynamic #t2) → void;
+  set v(dynamic v#param) → void;
 }
 static field dynamic _#g;
 static field core::bool _#g#isSet;
 static get g() → dynamic;
-static set g(dynamic #t3) → void;
+static set g(dynamic g#param) → void;
 static method main() → dynamic
   ;
 static method expect(dynamic expected, dynamic actual) → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect
index 149d652..284bc957 100644
--- a/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40373b.dart.weak.transformed.expect
@@ -13,45 +13,45 @@
     ;
   static get s() → dynamic
     return self::C::_#s#isSet ?{dynamic} self::C::_#s : throw new _in::LateError::fieldNI("s");
-  static set s(dynamic #t1) → void
+  static set s(dynamic s#param) → void
     if(self::C::_#s#isSet)
       throw new _in::LateError::fieldAI("s");
     else {
       self::C::_#s#isSet = true;
-      self::C::_#s = #t1;
+      self::C::_#s = s#param;
     }
   get v() → dynamic
     return this.{self::C::_#C#v#isSet}{core::bool} ?{dynamic} this.{self::C::_#C#v}{dynamic} : throw new _in::LateError::fieldNI("v");
-  set v(dynamic #t2) → void
+  set v(dynamic v#param) → void
     if(this.{self::C::_#C#v#isSet}{core::bool})
       throw new _in::LateError::fieldAI("v");
     else {
       this.{self::C::_#C#v#isSet} = true;
-      this.{self::C::_#C#v} = #t2;
+      this.{self::C::_#C#v} = v#param;
     }
 }
 static field dynamic _#g = null;
 static field core::bool _#g#isSet = false;
 static get g() → dynamic
   return self::_#g#isSet ?{dynamic} self::_#g : throw new _in::LateError::fieldNI("g");
-static set g(dynamic #t3) → void
+static set g(dynamic g#param) → void
   if(self::_#g#isSet)
     throw new _in::LateError::fieldAI("g");
   else {
     self::_#g#isSet = true;
-    self::_#g = #t3;
+    self::_#g = g#param;
   }
 static method main() → dynamic {
   lowered final dynamic #l;
   lowered core::bool #l#isSet = false;
   function #l#get() → dynamic
     return #l#isSet ?{dynamic} #l : throw new _in::LateError::localNI("l");
-  function #l#set(dynamic #t4) → dynamic
+  function #l#set(dynamic l#param) → dynamic
     if(#l#isSet)
       throw new _in::LateError::localAI("l");
     else {
       #l#isSet = true;
-      return #l = #t4;
+      return #l = l#param;
     }
   self::g = "Lily";
   self::C::s = "was";
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect
index e8923f9..4aa89eb 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.expect
@@ -14,9 +14,9 @@
     lowered core::bool #value#isSet = false;
     function #value#get() → self::A::T%
       return #value#isSet ?{self::A::T%} #value{self::A::T%} : throw new _in::LateError::localNI("value");
-    function #value#set(self::A::T% #t1) → dynamic {
+    function #value#set(self::A::T% value#param) → dynamic {
       #value#isSet = true;
-      return #value = #t1;
+      return #value = value#param;
     }
     () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
     (() → Null {
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect
index e8923f9..4aa89eb 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.strong.transformed.expect
@@ -14,9 +14,9 @@
     lowered core::bool #value#isSet = false;
     function #value#get() → self::A::T%
       return #value#isSet ?{self::A::T%} #value{self::A::T%} : throw new _in::LateError::localNI("value");
-    function #value#set(self::A::T% #t1) → dynamic {
+    function #value#set(self::A::T% value#param) → dynamic {
       #value#isSet = true;
-      return #value = #t1;
+      return #value = value#param;
     }
     () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
     (() → Null {
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect
index e8923f9..4aa89eb 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.expect
@@ -14,9 +14,9 @@
     lowered core::bool #value#isSet = false;
     function #value#get() → self::A::T%
       return #value#isSet ?{self::A::T%} #value{self::A::T%} : throw new _in::LateError::localNI("value");
-    function #value#set(self::A::T% #t1) → dynamic {
+    function #value#set(self::A::T% value#param) → dynamic {
       #value#isSet = true;
-      return #value = #t1;
+      return #value = value#param;
     }
     () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
     (() → Null {
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.modular.expect
index e8923f9..4aa89eb 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.modular.expect
@@ -14,9 +14,9 @@
     lowered core::bool #value#isSet = false;
     function #value#get() → self::A::T%
       return #value#isSet ?{self::A::T%} #value{self::A::T%} : throw new _in::LateError::localNI("value");
-    function #value#set(self::A::T% #t1) → dynamic {
+    function #value#set(self::A::T% value#param) → dynamic {
       #value#isSet = true;
-      return #value = #t1;
+      return #value = value#param;
     }
     () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
     (() → Null {
diff --git a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect
index e8923f9..4aa89eb 100644
--- a/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40601.dart.weak.transformed.expect
@@ -14,9 +14,9 @@
     lowered core::bool #value#isSet = false;
     function #value#get() → self::A::T%
       return #value#isSet ?{self::A::T%} #value{self::A::T%} : throw new _in::LateError::localNI("value");
-    function #value#set(self::A::T% #t1) → dynamic {
+    function #value#set(self::A::T% value#param) → dynamic {
       #value#isSet = true;
-      return #value = #t1;
+      return #value = value#param;
     }
     () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get(){() → self::A::T%}){(self::A::T%) → dynamic};
     (() → Null {
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect
index ccb488e..3704da3 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.expect
@@ -10,9 +10,9 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::C::_#C#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(covariant-by-declaration core::int #t2) → void
+  set x(covariant-by-declaration core::int x#param) → void
     if(this.{self::C::_#C#x}{core::int?} == null)
-      this.{self::C::_#C#x} = #t2;
+      this.{self::C::_#C#x} = x#param;
     else
       throw new _in::LateError::fieldAI("x");
 }
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect
index ccb488e..3704da3 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.strong.transformed.expect
@@ -10,9 +10,9 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::C::_#C#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(covariant-by-declaration core::int #t2) → void
+  set x(covariant-by-declaration core::int x#param) → void
     if(this.{self::C::_#C#x}{core::int?} == null)
-      this.{self::C::_#C#x} = #t2;
+      this.{self::C::_#C#x} = x#param;
     else
       throw new _in::LateError::fieldAI("x");
 }
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect
index a37d11f..5bc7ad7 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.expect
@@ -11,12 +11,12 @@
     ;
   get x() → core::int
     return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::C::_#C#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-declaration core::int #t2) → void
+  set x(covariant-by-declaration core::int x#param) → void
     if(this.{self::C::_#C#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::C::_#C#x#isSet} = true;
-      this.{self::C::_#C#x} = #t2;
+      this.{self::C::_#C#x} = x#param;
     }
 }
 class D extends self::C {
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.modular.expect
index a37d11f..5bc7ad7 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.modular.expect
@@ -11,12 +11,12 @@
     ;
   get x() → core::int
     return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::C::_#C#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-declaration core::int #t2) → void
+  set x(covariant-by-declaration core::int x#param) → void
     if(this.{self::C::_#C#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::C::_#C#x#isSet} = true;
-      this.{self::C::_#C#x} = #t2;
+      this.{self::C::_#C#x} = x#param;
     }
 }
 class D extends self::C {
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.outline.expect
index b50e707..e16466c 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.outline.expect
@@ -8,7 +8,7 @@
   synthetic constructor •() → self::C
     ;
   get x() → core::int;
-  set x(covariant-by-declaration core::int #t1) → void;
+  set x(covariant-by-declaration core::int x#param) → void;
 }
 class D extends self::C {
   synthetic constructor •() → self::D
diff --git a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect
index a37d11f..5bc7ad7 100644
--- a/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue40805.dart.weak.transformed.expect
@@ -11,12 +11,12 @@
     ;
   get x() → core::int
     return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::C::_#C#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-declaration core::int #t2) → void
+  set x(covariant-by-declaration core::int x#param) → void
     if(this.{self::C::_#C#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::C::_#C#x#isSet} = true;
-      this.{self::C::_#C#x} = #t2;
+      this.{self::C::_#C#x} = x#param;
     }
 }
 class D extends self::C {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect
index ef8f0a6..a00dee1 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.expect
@@ -20,8 +20,8 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{test::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{test::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{test::A::_#A#x} = x#param;
 }
 class _B extends core::Object implements test::A {
   field core::int x = 3;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect
index ef8f0a6..a00dee1 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.strong.transformed.expect
@@ -20,8 +20,8 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{test::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{test::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{test::A::_#A#x} = x#param;
 }
 class _B extends core::Object implements test::A {
   field core::int x = 3;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.expect
index c3f8ab3..8fe41f3 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.expect
@@ -21,9 +21,9 @@
     ;
   get x() → core::int
     return this.{test::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{test::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{test::A::_#A#x#isSet} = true;
-    this.{test::A::_#A#x} = #t2;
+    this.{test::A::_#A#x} = x#param;
   }
 }
 class _B extends core::Object implements test::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.modular.expect
index c3f8ab3..8fe41f3 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.modular.expect
@@ -21,9 +21,9 @@
     ;
   get x() → core::int
     return this.{test::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{test::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{test::A::_#A#x#isSet} = true;
-    this.{test::A::_#A#x} = #t2;
+    this.{test::A::_#A#x} = x#param;
   }
 }
 class _B extends core::Object implements test::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.outline.expect
index 9fe236dd..88d9351 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.outline.expect
@@ -16,7 +16,7 @@
   synthetic constructor •() → self2::A
     ;
   get x() → core::int;
-  set x(core::int #t1) → void;
+  set x(core::int x#param) → void;
 }
 class _B extends core::Object implements self2::A {
   field core::int x;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.transformed.expect
index c3f8ab3..8fe41f3 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436/issue41436.dart.weak.transformed.expect
@@ -21,9 +21,9 @@
     ;
   get x() → core::int
     return this.{test::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{test::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{test::A::_#A#x#isSet} = true;
-    this.{test::A::_#A#x} = #t2;
+    this.{test::A::_#A#x} = x#param;
   }
 }
 class _B extends core::Object implements test::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect
index e8817ef..6fc0c73 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.expect
@@ -10,8 +10,8 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{self::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{self::A::_#A#x} = x#param;
 }
 class _B extends core::Object implements self::A {
   field core::int x = 3;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect
index e8817ef..6fc0c73 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.strong.transformed.expect
@@ -10,8 +10,8 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{self::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{self::A::_#A#x} = x#param;
 }
 class _B extends core::Object implements self::A {
   field core::int x = 3;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.expect
index 0c45d0a..f5f3c3c 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.expect
@@ -11,9 +11,9 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class _B extends core::Object implements self::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.modular.expect
index 0c45d0a..f5f3c3c 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.modular.expect
@@ -11,9 +11,9 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class _B extends core::Object implements self::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.outline.expect
index 976a20f..80d31eb 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.outline.expect
@@ -8,7 +8,7 @@
   synthetic constructor •() → self::A
     ;
   get x() → core::int;
-  set x(core::int #t1) → void;
+  set x(core::int x#param) → void;
 }
 class _B extends core::Object implements self::A {
   field core::int x;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.transformed.expect
index 0c45d0a..f5f3c3c 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436b.dart.weak.transformed.expect
@@ -11,9 +11,9 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class _B extends core::Object implements self::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect
index de82c1f..37756b5 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.expect
@@ -30,8 +30,8 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{iss::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{iss::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{iss::A::_#A#x} = x#param;
 }
 class B extends core::Object implements iss::A {
   field core::int x = 3;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect
index 3487b8a..07d36fd 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.strong.transformed.expect
@@ -30,8 +30,8 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{iss::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{iss::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{iss::A::_#A#x} = x#param;
 }
 class B extends core::Object implements iss::A {
   field core::int x = 3;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect
index 105770f..8fe6ee7 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.expect
@@ -35,9 +35,9 @@
     ;
   get x() → core::int
     return this.{iss::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{iss::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{iss::A::_#A#x#isSet} = true;
-    this.{iss::A::_#A#x} = #t2;
+    this.{iss::A::_#A#x} = x#param;
   }
 }
 class B extends core::Object implements iss::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
index d7ce4ef..ae337d4 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.outline.expect
@@ -30,7 +30,7 @@
   synthetic constructor •() → iss::A
     ;
   get x() → core::int;
-  set x(core::int #t1) → void;
+  set x(core::int x#param) → void;
 }
 class B extends core::Object implements iss::A {
   field core::int x;
diff --git a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect
index d06c920..fdea894 100644
--- a/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41436c/issue41436c.dart.weak.transformed.expect
@@ -35,9 +35,9 @@
     ;
   get x() → core::int
     return this.{iss::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{iss::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{iss::A::_#A#x#isSet} = true;
-    this.{iss::A::_#A#x} = #t2;
+    this.{iss::A::_#A#x} = x#param;
   }
 }
 class B extends core::Object implements iss::A {
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect
index f4abe91..bc63dfb 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.expect
@@ -15,9 +15,9 @@
     }
     return self::C::_#s;
   }
-  static set s(core::String? #t1) → void {
+  static set s(core::String? s#param) → void {
     self::C::_#s#isSet = true;
-    self::C::_#s = #t1;
+    self::C::_#s = s#param;
   }
 }
 static field core::bool _called = false;
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect
index f4abe91..bc63dfb 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.strong.transformed.expect
@@ -15,9 +15,9 @@
     }
     return self::C::_#s;
   }
-  static set s(core::String? #t1) → void {
+  static set s(core::String? s#param) → void {
     self::C::_#s#isSet = true;
-    self::C::_#s = #t1;
+    self::C::_#s = s#param;
   }
 }
 static field core::bool _called = false;
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect
index f4abe91..bc63dfb 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.expect
@@ -15,9 +15,9 @@
     }
     return self::C::_#s;
   }
-  static set s(core::String? #t1) → void {
+  static set s(core::String? s#param) → void {
     self::C::_#s#isSet = true;
-    self::C::_#s = #t1;
+    self::C::_#s = s#param;
   }
 }
 static field core::bool _called = false;
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.modular.expect
index f4abe91..bc63dfb 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.modular.expect
@@ -15,9 +15,9 @@
     }
     return self::C::_#s;
   }
-  static set s(core::String? #t1) → void {
+  static set s(core::String? s#param) → void {
     self::C::_#s#isSet = true;
-    self::C::_#s = #t1;
+    self::C::_#s = s#param;
   }
 }
 static field core::bool _called = false;
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.outline.expect
index 636ec1c..079f3b2 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.outline.expect
@@ -8,7 +8,7 @@
   synthetic constructor •() → self::C
     ;
   static get s() → core::String?;
-  static set s(core::String? #t1) → void;
+  static set s(core::String? s#param) → void;
 }
 static field core::bool _called;
 static method init(core::String val) → core::String
diff --git a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect
index f4abe91..bc63dfb 100644
--- a/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue41922.dart.weak.transformed.expect
@@ -15,9 +15,9 @@
     }
     return self::C::_#s;
   }
-  static set s(core::String? #t1) → void {
+  static set s(core::String? s#param) → void {
     self::C::_#s#isSet = true;
-    self::C::_#s = #t1;
+    self::C::_#s = s#param;
   }
 }
 static field core::bool _called = false;
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect
index 16c8e79..336fcf6 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.expect
@@ -11,9 +11,9 @@
     ;
   get x() → self::A::T%
     return this.{self::A::_#A#x#isSet}{core::bool} ?{self::A::T%} let final self::A::T? #t1 = this.{self::A::_#A#x}{self::A::T?} in #t1{self::A::T%} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-class self::A::T% #t2) → void {
+  set x(covariant-by-class self::A::T% x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class B<T extends core::Object? = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect
index 16c8e79..336fcf6 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.strong.transformed.expect
@@ -11,9 +11,9 @@
     ;
   get x() → self::A::T%
     return this.{self::A::_#A#x#isSet}{core::bool} ?{self::A::T%} let final self::A::T? #t1 = this.{self::A::_#A#x}{self::A::T?} in #t1{self::A::T%} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-class self::A::T% #t2) → void {
+  set x(covariant-by-class self::A::T% x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class B<T extends core::Object? = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect
index 16c8e79..336fcf6 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.expect
@@ -11,9 +11,9 @@
     ;
   get x() → self::A::T%
     return this.{self::A::_#A#x#isSet}{core::bool} ?{self::A::T%} let final self::A::T? #t1 = this.{self::A::_#A#x}{self::A::T?} in #t1{self::A::T%} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-class self::A::T% #t2) → void {
+  set x(covariant-by-class self::A::T% x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class B<T extends core::Object? = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.modular.expect
index 16c8e79..336fcf6 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.modular.expect
@@ -11,9 +11,9 @@
     ;
   get x() → self::A::T%
     return this.{self::A::_#A#x#isSet}{core::bool} ?{self::A::T%} let final self::A::T? #t1 = this.{self::A::_#A#x}{self::A::T?} in #t1{self::A::T%} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-class self::A::T% #t2) → void {
+  set x(covariant-by-class self::A::T% x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class B<T extends core::Object? = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.outline.expect
index e556e89..73875f5 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.outline.expect
@@ -8,7 +8,7 @@
   synthetic constructor •() → self::A<self::A::T%>
     ;
   get x() → self::A::T%;
-  set x(covariant-by-class self::A::T% #t1) → void;
+  set x(covariant-by-class self::A::T% x#param) → void;
 }
 class B<T extends core::Object? = dynamic> extends core::Object {
   covariant-by-class field self::B::T? _y;
diff --git a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect
index 16c8e79..336fcf6 100644
--- a/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue42407.dart.weak.transformed.expect
@@ -11,9 +11,9 @@
     ;
   get x() → self::A::T%
     return this.{self::A::_#A#x#isSet}{core::bool} ?{self::A::T%} let final self::A::T? #t1 = this.{self::A::_#A#x}{self::A::T?} in #t1{self::A::T%} : throw new _in::LateError::fieldNI("x");
-  set x(covariant-by-class self::A::T% #t2) → void {
+  set x(covariant-by-class self::A::T% x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 class B<T extends core::Object? = dynamic> extends core::Object {
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect
index 66a67c4..bc55772 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.expect
@@ -7,11 +7,11 @@
   lowered () →? core::int #recursiveInitLocal;
   function #recursiveInitLocal#get() → () → core::int
     return let final () →? core::int #t1 = #recursiveInitLocal in #t1 == null ?{() → core::int} throw new _in::LateError::localNI("recursiveInitLocal") : #t1{() → core::int};
-  function #recursiveInitLocal#set(() → core::int #t2) → dynamic
-    return #recursiveInitLocal = #t2;
+  function #recursiveInitLocal#set(() → core::int recursiveInitLocal#param) → dynamic
+    return #recursiveInitLocal = recursiveInitLocal#param;
   lowered final core::int? #local;
   function #local#get() → core::int
-    return let final core::int? #t3 = #local in #t3 == null ?{core::int} let final core::int #t4 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int} in #local == null ?{core::int} #local = #t4 : throw new _in::LateError::localADI("local") : #t3{core::int};
+    return let final core::int? #t2 = #local in #t2 == null ?{core::int} let final core::int #t3 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int} in #local == null ?{core::int} #local = #t3 : throw new _in::LateError::localADI("local") : #t2{core::int};
   core::bool doRecursiveInitLocal = true;
   #recursiveInitLocal#set(() → core::int {
     core::print("Executing initializer");
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect
index 66a67c4..bc55772 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.strong.transformed.expect
@@ -7,11 +7,11 @@
   lowered () →? core::int #recursiveInitLocal;
   function #recursiveInitLocal#get() → () → core::int
     return let final () →? core::int #t1 = #recursiveInitLocal in #t1 == null ?{() → core::int} throw new _in::LateError::localNI("recursiveInitLocal") : #t1{() → core::int};
-  function #recursiveInitLocal#set(() → core::int #t2) → dynamic
-    return #recursiveInitLocal = #t2;
+  function #recursiveInitLocal#set(() → core::int recursiveInitLocal#param) → dynamic
+    return #recursiveInitLocal = recursiveInitLocal#param;
   lowered final core::int? #local;
   function #local#get() → core::int
-    return let final core::int? #t3 = #local in #t3 == null ?{core::int} let final core::int #t4 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int} in #local == null ?{core::int} #local = #t4 : throw new _in::LateError::localADI("local") : #t3{core::int};
+    return let final core::int? #t2 = #local in #t2 == null ?{core::int} let final core::int #t3 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int} in #local == null ?{core::int} #local = #t3 : throw new _in::LateError::localADI("local") : #t2{core::int};
   core::bool doRecursiveInitLocal = true;
   #recursiveInitLocal#set(() → core::int {
     core::print("Executing initializer");
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect
index 57a90e0..0858a5e 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.expect
@@ -8,18 +8,18 @@
   lowered core::bool #recursiveInitLocal#isSet = false;
   function #recursiveInitLocal#get() → () → core::int
     return #recursiveInitLocal#isSet ?{() → core::int} #recursiveInitLocal{() → core::int} : throw new _in::LateError::localNI("recursiveInitLocal");
-  function #recursiveInitLocal#set(() → core::int #t1) → dynamic {
+  function #recursiveInitLocal#set(() → core::int recursiveInitLocal#param) → dynamic {
     #recursiveInitLocal#isSet = true;
-    return #recursiveInitLocal = #t1;
+    return #recursiveInitLocal = recursiveInitLocal#param;
   }
   lowered final core::int? #local;
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int {
     if(!#local#isSet) {
-      final core::int #t2 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
+      final core::int #t1 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
       if(#local#isSet)
         throw new _in::LateError::localADI("local");
-      #local = #t2;
+      #local = #t1;
       #local#isSet = true;
     }
     return #local{core::int};
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.modular.expect
index 57a90e0..0858a5e 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.modular.expect
@@ -8,18 +8,18 @@
   lowered core::bool #recursiveInitLocal#isSet = false;
   function #recursiveInitLocal#get() → () → core::int
     return #recursiveInitLocal#isSet ?{() → core::int} #recursiveInitLocal{() → core::int} : throw new _in::LateError::localNI("recursiveInitLocal");
-  function #recursiveInitLocal#set(() → core::int #t1) → dynamic {
+  function #recursiveInitLocal#set(() → core::int recursiveInitLocal#param) → dynamic {
     #recursiveInitLocal#isSet = true;
-    return #recursiveInitLocal = #t1;
+    return #recursiveInitLocal = recursiveInitLocal#param;
   }
   lowered final core::int? #local;
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int {
     if(!#local#isSet) {
-      final core::int #t2 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
+      final core::int #t1 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
       if(#local#isSet)
         throw new _in::LateError::localADI("local");
-      #local = #t2;
+      #local = #t1;
       #local#isSet = true;
     }
     return #local{core::int};
diff --git a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect
index 57a90e0..0858a5e 100644
--- a/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/issue44372.dart.weak.transformed.expect
@@ -8,18 +8,18 @@
   lowered core::bool #recursiveInitLocal#isSet = false;
   function #recursiveInitLocal#get() → () → core::int
     return #recursiveInitLocal#isSet ?{() → core::int} #recursiveInitLocal{() → core::int} : throw new _in::LateError::localNI("recursiveInitLocal");
-  function #recursiveInitLocal#set(() → core::int #t1) → dynamic {
+  function #recursiveInitLocal#set(() → core::int recursiveInitLocal#param) → dynamic {
     #recursiveInitLocal#isSet = true;
-    return #recursiveInitLocal = #t1;
+    return #recursiveInitLocal = recursiveInitLocal#param;
   }
   lowered final core::int? #local;
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int {
     if(!#local#isSet) {
-      final core::int #t2 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
+      final core::int #t1 = #recursiveInitLocal#get(){() → () → core::int}(){() → core::int};
       if(#local#isSet)
         throw new _in::LateError::localADI("local");
-      #local = #t2;
+      #local = #t1;
       #local#isSet = true;
     }
     return #local{core::int};
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect
index 9500bf5..5966501 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.expect
@@ -23,44 +23,44 @@
   get instanceField() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#instanceField}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
   @#C1
-  set instanceField(core::int #t2) → void
-    this.{self::A::_#A#instanceField} = #t2;
+  set instanceField(core::int instanceField#param) → void
+    this.{self::A::_#A#instanceField} = instanceField#param;
   @#C1
   get finalInstanceField() → core::int
-    return let final core::int? #t3 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t3{core::int};
+    return let final core::int? #t2 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t2{core::int};
   @#C1
-  set finalInstanceField(core::int #t4) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::A::_#A#finalInstanceField}{core::int?} == null)
-      this.{self::A::_#A#finalInstanceField} = #t4;
+      this.{self::A::_#A#finalInstanceField} = finalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("finalInstanceField");
   @#C1
   get finalInstanceFieldWithInitializer() → core::int
-    return let final core::int? #t5 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t5 == null ?{core::int} let final core::int #t6 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t6 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t5{core::int};
+    return let final core::int? #t3 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t3 == null ?{core::int} let final core::int #t4 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t4 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t3{core::int};
   @#C1
   get covariantInstanceField() → core::num
-    return let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t7 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t7{core::num};
+    return let final core::num? #t5 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t5 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t5{core::num};
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t8) → void
-    this.{self::A::_#A#covariantInstanceField} = #t8;
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void
+    this.{self::A::_#A#covariantInstanceField} = covariantInstanceField#param;
   @#C1
   static get staticField() → core::int
-    return let final core::int? #t9 = self::A::_#staticField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t9{core::int};
+    return let final core::int? #t6 = self::A::_#staticField in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t6{core::int};
   @#C1
-  static set staticField(core::int #t10) → void
-    self::A::_#staticField = #t10;
+  static set staticField(core::int staticField#param) → void
+    self::A::_#staticField = staticField#param;
   @#C1
   static get finalStaticField() → core::int
-    return let final core::int? #t11 = self::A::_#finalStaticField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t11{core::int};
+    return let final core::int? #t7 = self::A::_#finalStaticField in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t7{core::int};
   @#C1
-  static set finalStaticField(core::int #t12) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::A::_#finalStaticField == null)
-      self::A::_#finalStaticField = #t12;
+      self::A::_#finalStaticField = finalStaticField#param;
     else
       throw new _in::LateError::fieldAI("finalStaticField");
   @#C1
   static get finalStaticFieldWithInitializer() → core::int
-    return let final core::int? #t13 = self::A::_#finalStaticFieldWithInitializer in #t13 == null ?{core::int} let final core::int #t14 = 0 in self::A::_#finalStaticFieldWithInitializer == null ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t13{core::int};
+    return let final core::int? #t8 = self::A::_#finalStaticFieldWithInitializer in #t8 == null ?{core::int} let final core::int #t9 = 0 in self::A::_#finalStaticFieldWithInitializer == null ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t9 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t8{core::int};
 }
 abstract class B extends core::Object /*isMixinDeclaration*/  {
   field core::int? _#B#instanceField = null;
@@ -72,46 +72,46 @@
   static field core::int? _#finalStaticFieldWithInitializer = null;
   @#C1
   get instanceField() → core::int
-    return let final core::int? #t15 = this.{self::B::_#B#instanceField}{core::int?} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t15{core::int};
+    return let final core::int? #t10 = this.{self::B::_#B#instanceField}{core::int?} in #t10 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t10{core::int};
   @#C1
-  set instanceField(core::int #t16) → void
-    this.{self::B::_#B#instanceField} = #t16;
+  set instanceField(core::int instanceField#param) → void
+    this.{self::B::_#B#instanceField} = instanceField#param;
   @#C1
   get finalInstanceField() → core::int
-    return let final core::int? #t17 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t17{core::int};
+    return let final core::int? #t11 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t11{core::int};
   @#C1
-  set finalInstanceField(core::int #t18) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::B::_#B#finalInstanceField}{core::int?} == null)
-      this.{self::B::_#B#finalInstanceField} = #t18;
+      this.{self::B::_#B#finalInstanceField} = finalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("finalInstanceField");
   @#C1
   get finalInstanceFieldWithInitializer() → core::int
-    return let final core::int? #t19 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t19 == null ?{core::int} let final core::int #t20 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t20 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t19{core::int};
+    return let final core::int? #t12 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t12 == null ?{core::int} let final core::int #t13 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t13 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t12{core::int};
   @#C1
   get covariantInstanceField() → core::num
-    return let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t21 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t21{core::num};
+    return let final core::num? #t14 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t14 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t14{core::num};
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t22) → void
-    this.{self::B::_#B#covariantInstanceField} = #t22;
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void
+    this.{self::B::_#B#covariantInstanceField} = covariantInstanceField#param;
   @#C1
   static get staticField() → core::int
-    return let final core::int? #t23 = self::B::_#staticField in #t23 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t23{core::int};
+    return let final core::int? #t15 = self::B::_#staticField in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t15{core::int};
   @#C1
-  static set staticField(core::int #t24) → void
-    self::B::_#staticField = #t24;
+  static set staticField(core::int staticField#param) → void
+    self::B::_#staticField = staticField#param;
   @#C1
   static get finalStaticField() → core::int
-    return let final core::int? #t25 = self::B::_#finalStaticField in #t25 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t25{core::int};
+    return let final core::int? #t16 = self::B::_#finalStaticField in #t16 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t16{core::int};
   @#C1
-  static set finalStaticField(core::int #t26) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::B::_#finalStaticField == null)
-      self::B::_#finalStaticField = #t26;
+      self::B::_#finalStaticField = finalStaticField#param;
     else
       throw new _in::LateError::fieldAI("finalStaticField");
   @#C1
   static get finalStaticFieldWithInitializer() → core::int
-    return let final core::int? #t27 = self::B::_#finalStaticFieldWithInitializer in #t27 == null ?{core::int} let final core::int #t28 = 0 in self::B::_#finalStaticFieldWithInitializer == null ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t28 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t27{core::int};
+    return let final core::int? #t17 = self::B::_#finalStaticFieldWithInitializer in #t17 == null ?{core::int} let final core::int #t18 = 0 in self::B::_#finalStaticFieldWithInitializer == null ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t18 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t17{core::int};
 }
 extension Extension on self::A {
   static field extensionStaticField = self::_#Extension|extensionStaticField;
@@ -131,40 +131,40 @@
 static field core::int? _#Extension|finalExtensionStaticFieldWithInitializer = null;
 @#C1
 static get topLevelField() → core::int
-  return let final core::int? #t29 = self::_#topLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t29{core::int};
+  return let final core::int? #t19 = self::_#topLevelField in #t19 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t19{core::int};
 @#C1
-static set topLevelField(core::int #t30) → void
-  self::_#topLevelField = #t30;
+static set topLevelField(core::int topLevelField#param) → void
+  self::_#topLevelField = topLevelField#param;
 @#C1
 static get finalTopLevelField() → core::int
-  return let final core::int? #t31 = self::_#finalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t31{core::int};
+  return let final core::int? #t20 = self::_#finalTopLevelField in #t20 == null ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t20{core::int};
 @#C1
-static set finalTopLevelField(core::int #t32) → void
+static set finalTopLevelField(core::int finalTopLevelField#param) → void
   if(self::_#finalTopLevelField == null)
-    self::_#finalTopLevelField = #t32;
+    self::_#finalTopLevelField = finalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("finalTopLevelField");
 @#C1
 static get finalTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t33 = self::_#finalTopLevelFieldWithInitializer in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#finalTopLevelFieldWithInitializer == null ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t34 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t33{core::int};
+  return let final core::int? #t21 = self::_#finalTopLevelFieldWithInitializer in #t21 == null ?{core::int} let final core::int #t22 = 0 in self::_#finalTopLevelFieldWithInitializer == null ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t22 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t21{core::int};
 @#C1
 static get Extension|extensionStaticField() → core::int
-  return let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35 == null ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t35{core::int};
+  return let final core::int? #t23 = self::_#Extension|extensionStaticField in #t23 == null ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t23{core::int};
 @#C1
-static set Extension|extensionStaticField(core::int #t36) → void
-  self::_#Extension|extensionStaticField = #t36;
+static set Extension|extensionStaticField(core::int Extension|extensionStaticField#param) → void
+  self::_#Extension|extensionStaticField = Extension|extensionStaticField#param;
 @#C1
 static get Extension|finalExtensionStaticField() → core::int
-  return let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37 == null ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t37{core::int};
+  return let final core::int? #t24 = self::_#Extension|finalExtensionStaticField in #t24 == null ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t24{core::int};
 @#C1
-static set Extension|finalExtensionStaticField(core::int #t38) → void
+static set Extension|finalExtensionStaticField(core::int Extension|finalExtensionStaticField#param) → void
   if(self::_#Extension|finalExtensionStaticField == null)
-    self::_#Extension|finalExtensionStaticField = #t38;
+    self::_#Extension|finalExtensionStaticField = Extension|finalExtensionStaticField#param;
   else
     throw new _in::LateError::fieldAI("finalExtensionStaticField");
 @#C1
 static get Extension|finalExtensionStaticFieldWithInitializer() → core::int
-  return let final core::int? #t39 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t39 == null ?{core::int} let final core::int #t40 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer == null ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t40 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t39{core::int};
+  return let final core::int? #t25 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t25 == null ?{core::int} let final core::int #t26 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer == null ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t26 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t25{core::int};
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect
index 5c3dc32..68c30b5 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.strong.transformed.expect
@@ -23,44 +23,44 @@
   get instanceField() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#instanceField}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
   @#C1
-  set instanceField(core::int #t2) → void
-    this.{self::A::_#A#instanceField} = #t2;
+  set instanceField(core::int instanceField#param) → void
+    this.{self::A::_#A#instanceField} = instanceField#param;
   @#C1
   get finalInstanceField() → core::int
-    return let final core::int? #t3 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t3{core::int};
+    return let final core::int? #t2 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t2{core::int};
   @#C1
-  set finalInstanceField(core::int #t4) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::A::_#A#finalInstanceField}{core::int?} == null)
-      this.{self::A::_#A#finalInstanceField} = #t4;
+      this.{self::A::_#A#finalInstanceField} = finalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("finalInstanceField");
   @#C1
   get finalInstanceFieldWithInitializer() → core::int
-    return let final core::int? #t5 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t5 == null ?{core::int} let final core::int #t6 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t6 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t5{core::int};
+    return let final core::int? #t3 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t3 == null ?{core::int} let final core::int #t4 = 0 in this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t4 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t3{core::int};
   @#C1
   get covariantInstanceField() → core::num
-    return let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t7 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t7{core::num};
+    return let final core::num? #t5 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t5 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t5{core::num};
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t8) → void
-    this.{self::A::_#A#covariantInstanceField} = #t8;
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void
+    this.{self::A::_#A#covariantInstanceField} = covariantInstanceField#param;
   @#C1
   static get staticField() → core::int
-    return let final core::int? #t9 = self::A::_#staticField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t9{core::int};
+    return let final core::int? #t6 = self::A::_#staticField in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t6{core::int};
   @#C1
-  static set staticField(core::int #t10) → void
-    self::A::_#staticField = #t10;
+  static set staticField(core::int staticField#param) → void
+    self::A::_#staticField = staticField#param;
   @#C1
   static get finalStaticField() → core::int
-    return let final core::int? #t11 = self::A::_#finalStaticField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t11{core::int};
+    return let final core::int? #t7 = self::A::_#finalStaticField in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t7{core::int};
   @#C1
-  static set finalStaticField(core::int #t12) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::A::_#finalStaticField == null)
-      self::A::_#finalStaticField = #t12;
+      self::A::_#finalStaticField = finalStaticField#param;
     else
       throw new _in::LateError::fieldAI("finalStaticField");
   @#C1
   static get finalStaticFieldWithInitializer() → core::int
-    return let final core::int? #t13 = self::A::_#finalStaticFieldWithInitializer in #t13 == null ?{core::int} let final core::int #t14 = 0 in self::A::_#finalStaticFieldWithInitializer == null ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t13{core::int};
+    return let final core::int? #t8 = self::A::_#finalStaticFieldWithInitializer in #t8 == null ?{core::int} let final core::int #t9 = 0 in self::A::_#finalStaticFieldWithInitializer == null ?{core::int} self::A::_#finalStaticFieldWithInitializer = #t9 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t8{core::int};
 }
 abstract class B extends core::Object /*isMixinDeclaration*/  {
   field core::int? _#B#instanceField = null;
@@ -72,46 +72,46 @@
   static field core::int? _#finalStaticFieldWithInitializer = null;
   @#C1
   get instanceField() → core::int
-    return let final core::int? #t15 = this.{self::B::_#B#instanceField}{core::int?} in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t15{core::int};
+    return let final core::int? #t10 = this.{self::B::_#B#instanceField}{core::int?} in #t10 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t10{core::int};
   @#C1
-  set instanceField(core::int #t16) → void
-    this.{self::B::_#B#instanceField} = #t16;
+  set instanceField(core::int instanceField#param) → void
+    this.{self::B::_#B#instanceField} = instanceField#param;
   @#C1
   get finalInstanceField() → core::int
-    return let final core::int? #t17 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t17{core::int};
+    return let final core::int? #t11 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("finalInstanceField") : #t11{core::int};
   @#C1
-  set finalInstanceField(core::int #t18) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::B::_#B#finalInstanceField}{core::int?} == null)
-      this.{self::B::_#B#finalInstanceField} = #t18;
+      this.{self::B::_#B#finalInstanceField} = finalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("finalInstanceField");
   @#C1
   get finalInstanceFieldWithInitializer() → core::int
-    return let final core::int? #t19 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t19 == null ?{core::int} let final core::int #t20 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t20 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t19{core::int};
+    return let final core::int? #t12 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t12 == null ?{core::int} let final core::int #t13 = 0 in this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} == null ?{core::int} this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t13 : throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer") : #t12{core::int};
   @#C1
   get covariantInstanceField() → core::num
-    return let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t21 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t21{core::num};
+    return let final core::num? #t14 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t14 == null ?{core::num} throw new _in::LateError::fieldNI("covariantInstanceField") : #t14{core::num};
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t22) → void
-    this.{self::B::_#B#covariantInstanceField} = #t22;
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void
+    this.{self::B::_#B#covariantInstanceField} = covariantInstanceField#param;
   @#C1
   static get staticField() → core::int
-    return let final core::int? #t23 = self::B::_#staticField in #t23 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t23{core::int};
+    return let final core::int? #t15 = self::B::_#staticField in #t15 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t15{core::int};
   @#C1
-  static set staticField(core::int #t24) → void
-    self::B::_#staticField = #t24;
+  static set staticField(core::int staticField#param) → void
+    self::B::_#staticField = staticField#param;
   @#C1
   static get finalStaticField() → core::int
-    return let final core::int? #t25 = self::B::_#finalStaticField in #t25 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t25{core::int};
+    return let final core::int? #t16 = self::B::_#finalStaticField in #t16 == null ?{core::int} throw new _in::LateError::fieldNI("finalStaticField") : #t16{core::int};
   @#C1
-  static set finalStaticField(core::int #t26) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::B::_#finalStaticField == null)
-      self::B::_#finalStaticField = #t26;
+      self::B::_#finalStaticField = finalStaticField#param;
     else
       throw new _in::LateError::fieldAI("finalStaticField");
   @#C1
   static get finalStaticFieldWithInitializer() → core::int
-    return let final core::int? #t27 = self::B::_#finalStaticFieldWithInitializer in #t27 == null ?{core::int} let final core::int #t28 = 0 in self::B::_#finalStaticFieldWithInitializer == null ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t28 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t27{core::int};
+    return let final core::int? #t17 = self::B::_#finalStaticFieldWithInitializer in #t17 == null ?{core::int} let final core::int #t18 = 0 in self::B::_#finalStaticFieldWithInitializer == null ?{core::int} self::B::_#finalStaticFieldWithInitializer = #t18 : throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer") : #t17{core::int};
 }
 extension Extension on self::A {
   static field extensionStaticField = self::_#Extension|extensionStaticField;
@@ -131,40 +131,40 @@
 static field core::int? _#Extension|finalExtensionStaticFieldWithInitializer = null;
 @#C1
 static get topLevelField() → core::int
-  return let final core::int? #t29 = self::_#topLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t29{core::int};
+  return let final core::int? #t19 = self::_#topLevelField in #t19 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t19{core::int};
 @#C1
-static set topLevelField(core::int #t30) → void
-  self::_#topLevelField = #t30;
+static set topLevelField(core::int topLevelField#param) → void
+  self::_#topLevelField = topLevelField#param;
 @#C1
 static get finalTopLevelField() → core::int
-  return let final core::int? #t31 = self::_#finalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t31{core::int};
+  return let final core::int? #t20 = self::_#finalTopLevelField in #t20 == null ?{core::int} throw new _in::LateError::fieldNI("finalTopLevelField") : #t20{core::int};
 @#C1
-static set finalTopLevelField(core::int #t32) → void
+static set finalTopLevelField(core::int finalTopLevelField#param) → void
   if(self::_#finalTopLevelField == null)
-    self::_#finalTopLevelField = #t32;
+    self::_#finalTopLevelField = finalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("finalTopLevelField");
 @#C1
 static get finalTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t33 = self::_#finalTopLevelFieldWithInitializer in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#finalTopLevelFieldWithInitializer == null ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t34 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t33{core::int};
+  return let final core::int? #t21 = self::_#finalTopLevelFieldWithInitializer in #t21 == null ?{core::int} let final core::int #t22 = 0 in self::_#finalTopLevelFieldWithInitializer == null ?{core::int} self::_#finalTopLevelFieldWithInitializer = #t22 : throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer") : #t21{core::int};
 @#C1
 static get Extension|extensionStaticField() → core::int
-  return let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35 == null ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t35{core::int};
+  return let final core::int? #t23 = self::_#Extension|extensionStaticField in #t23 == null ?{core::int} throw new _in::LateError::fieldNI("extensionStaticField") : #t23{core::int};
 @#C1
-static set Extension|extensionStaticField(core::int #t36) → void
-  self::_#Extension|extensionStaticField = #t36;
+static set Extension|extensionStaticField(core::int Extension|extensionStaticField#param) → void
+  self::_#Extension|extensionStaticField = Extension|extensionStaticField#param;
 @#C1
 static get Extension|finalExtensionStaticField() → core::int
-  return let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37 == null ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t37{core::int};
+  return let final core::int? #t24 = self::_#Extension|finalExtensionStaticField in #t24 == null ?{core::int} throw new _in::LateError::fieldNI("finalExtensionStaticField") : #t24{core::int};
 @#C1
-static set Extension|finalExtensionStaticField(core::int #t38) → void
+static set Extension|finalExtensionStaticField(core::int Extension|finalExtensionStaticField#param) → void
   if(self::_#Extension|finalExtensionStaticField == null)
-    self::_#Extension|finalExtensionStaticField = #t38;
+    self::_#Extension|finalExtensionStaticField = Extension|finalExtensionStaticField#param;
   else
     throw new _in::LateError::fieldAI("finalExtensionStaticField");
 @#C1
 static get Extension|finalExtensionStaticFieldWithInitializer() → core::int
-  return let final core::int? #t39 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t39 == null ?{core::int} let final core::int #t40 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer == null ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t40 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t39{core::int};
+  return let final core::int? #t25 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t25 == null ?{core::int} let final core::int #t26 = 0 in self::_#Extension|finalExtensionStaticFieldWithInitializer == null ?{core::int} self::_#Extension|finalExtensionStaticFieldWithInitializer = #t26 : throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer") : #t25{core::int};
 static method main() → dynamic {}
 
 constants  {
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.expect
index 784ff0c..061a612 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.expect
@@ -30,69 +30,69 @@
   get instanceField() → core::int
     return this.{self::A::_#A#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#instanceField}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("instanceField");
   @#C1
-  set instanceField(core::int #t2) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{self::A::_#A#instanceField#isSet} = true;
-    this.{self::A::_#A#instanceField} = #t2;
+    this.{self::A::_#A#instanceField} = instanceField#param;
   }
   @#C1
   get finalInstanceField() → core::int
-    return this.{self::A::_#A#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
+    return this.{self::A::_#A#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
   @#C1
-  set finalInstanceField(core::int #t4) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::A::_#A#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{self::A::_#A#finalInstanceField#isSet} = true;
-      this.{self::A::_#A#finalInstanceField} = #t4;
+      this.{self::A::_#A#finalInstanceField} = finalInstanceField#param;
     }
   @#C1
   get finalInstanceFieldWithInitializer() → core::int {
     if(!this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet}{core::bool}) {
-      final core::int #t5 = 0;
+      final core::int #t3 = 0;
       if(this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet}{core::bool})
         throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer");
-      this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t5;
+      this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t3;
       this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet} = true;
     }
-    return let final core::int? #t6 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t6{core::int};
+    return let final core::int? #t4 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t4{core::int};
   }
   @#C1
   get covariantInstanceField() → core::num
-    return this.{self::A::_#A#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t7{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
+    return this.{self::A::_#A#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t5 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t5{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t8) → void {
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void {
     this.{self::A::_#A#covariantInstanceField#isSet} = true;
-    this.{self::A::_#A#covariantInstanceField} = #t8;
+    this.{self::A::_#A#covariantInstanceField} = covariantInstanceField#param;
   }
   @#C1
   static get staticField() → core::int
-    return self::A::_#staticField#isSet ?{core::int} let final core::int? #t9 = self::A::_#staticField in #t9{core::int} : throw new _in::LateError::fieldNI("staticField");
+    return self::A::_#staticField#isSet ?{core::int} let final core::int? #t6 = self::A::_#staticField in #t6{core::int} : throw new _in::LateError::fieldNI("staticField");
   @#C1
-  static set staticField(core::int #t10) → void {
+  static set staticField(core::int staticField#param) → void {
     self::A::_#staticField#isSet = true;
-    self::A::_#staticField = #t10;
+    self::A::_#staticField = staticField#param;
   }
   @#C1
   static get finalStaticField() → core::int
-    return self::A::_#finalStaticField#isSet ?{core::int} let final core::int? #t11 = self::A::_#finalStaticField in #t11{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
+    return self::A::_#finalStaticField#isSet ?{core::int} let final core::int? #t7 = self::A::_#finalStaticField in #t7{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
   @#C1
-  static set finalStaticField(core::int #t12) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::A::_#finalStaticField#isSet)
       throw new _in::LateError::fieldAI("finalStaticField");
     else {
       self::A::_#finalStaticField#isSet = true;
-      self::A::_#finalStaticField = #t12;
+      self::A::_#finalStaticField = finalStaticField#param;
     }
   @#C1
   static get finalStaticFieldWithInitializer() → core::int {
     if(!self::A::_#finalStaticFieldWithInitializer#isSet) {
-      final core::int #t13 = 0;
+      final core::int #t8 = 0;
       if(self::A::_#finalStaticFieldWithInitializer#isSet)
         throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer");
-      self::A::_#finalStaticFieldWithInitializer = #t13;
+      self::A::_#finalStaticFieldWithInitializer = #t8;
       self::A::_#finalStaticFieldWithInitializer#isSet = true;
     }
-    return let final core::int? #t14 = self::A::_#finalStaticFieldWithInitializer in #t14{core::int};
+    return let final core::int? #t9 = self::A::_#finalStaticFieldWithInitializer in #t9{core::int};
   }
 }
 abstract class B extends core::Object /*isMixinDeclaration*/  {
@@ -112,71 +112,71 @@
   static field core::bool _#finalStaticFieldWithInitializer#isSet = false;
   @#C1
   get instanceField() → core::int
-    return this.{self::B::_#B#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t15 = this.{self::B::_#B#instanceField}{core::int?} in #t15{core::int} : throw new _in::LateError::fieldNI("instanceField");
+    return this.{self::B::_#B#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t10 = this.{self::B::_#B#instanceField}{core::int?} in #t10{core::int} : throw new _in::LateError::fieldNI("instanceField");
   @#C1
-  set instanceField(core::int #t16) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{self::B::_#B#instanceField#isSet} = true;
-    this.{self::B::_#B#instanceField} = #t16;
+    this.{self::B::_#B#instanceField} = instanceField#param;
   }
   @#C1
   get finalInstanceField() → core::int
-    return this.{self::B::_#B#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t17 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t17{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
+    return this.{self::B::_#B#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
   @#C1
-  set finalInstanceField(core::int #t18) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::B::_#B#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{self::B::_#B#finalInstanceField#isSet} = true;
-      this.{self::B::_#B#finalInstanceField} = #t18;
+      this.{self::B::_#B#finalInstanceField} = finalInstanceField#param;
     }
   @#C1
   get finalInstanceFieldWithInitializer() → core::int {
     if(!this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet}{core::bool}) {
-      final core::int #t19 = 0;
+      final core::int #t12 = 0;
       if(this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet}{core::bool})
         throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer");
-      this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t19;
+      this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t12;
       this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet} = true;
     }
-    return let final core::int? #t20 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t20{core::int};
+    return let final core::int? #t13 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t13{core::int};
   }
   @#C1
   get covariantInstanceField() → core::num
-    return this.{self::B::_#B#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t21{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
+    return this.{self::B::_#B#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t14 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t14{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t22) → void {
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void {
     this.{self::B::_#B#covariantInstanceField#isSet} = true;
-    this.{self::B::_#B#covariantInstanceField} = #t22;
+    this.{self::B::_#B#covariantInstanceField} = covariantInstanceField#param;
   }
   @#C1
   static get staticField() → core::int
-    return self::B::_#staticField#isSet ?{core::int} let final core::int? #t23 = self::B::_#staticField in #t23{core::int} : throw new _in::LateError::fieldNI("staticField");
+    return self::B::_#staticField#isSet ?{core::int} let final core::int? #t15 = self::B::_#staticField in #t15{core::int} : throw new _in::LateError::fieldNI("staticField");
   @#C1
-  static set staticField(core::int #t24) → void {
+  static set staticField(core::int staticField#param) → void {
     self::B::_#staticField#isSet = true;
-    self::B::_#staticField = #t24;
+    self::B::_#staticField = staticField#param;
   }
   @#C1
   static get finalStaticField() → core::int
-    return self::B::_#finalStaticField#isSet ?{core::int} let final core::int? #t25 = self::B::_#finalStaticField in #t25{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
+    return self::B::_#finalStaticField#isSet ?{core::int} let final core::int? #t16 = self::B::_#finalStaticField in #t16{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
   @#C1
-  static set finalStaticField(core::int #t26) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::B::_#finalStaticField#isSet)
       throw new _in::LateError::fieldAI("finalStaticField");
     else {
       self::B::_#finalStaticField#isSet = true;
-      self::B::_#finalStaticField = #t26;
+      self::B::_#finalStaticField = finalStaticField#param;
     }
   @#C1
   static get finalStaticFieldWithInitializer() → core::int {
     if(!self::B::_#finalStaticFieldWithInitializer#isSet) {
-      final core::int #t27 = 0;
+      final core::int #t17 = 0;
       if(self::B::_#finalStaticFieldWithInitializer#isSet)
         throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer");
-      self::B::_#finalStaticFieldWithInitializer = #t27;
+      self::B::_#finalStaticFieldWithInitializer = #t17;
       self::B::_#finalStaticFieldWithInitializer#isSet = true;
     }
-    return let final core::int? #t28 = self::B::_#finalStaticFieldWithInitializer in #t28{core::int};
+    return let final core::int? #t18 = self::B::_#finalStaticFieldWithInitializer in #t18{core::int};
   }
 }
 extension Extension on self::A {
@@ -206,63 +206,63 @@
 static field core::bool _#Extension|finalExtensionStaticFieldWithInitializer#isSet = false;
 @#C1
 static get topLevelField() → core::int
-  return self::_#topLevelField#isSet ?{core::int} let final core::int? #t29 = self::_#topLevelField in #t29{core::int} : throw new _in::LateError::fieldNI("topLevelField");
+  return self::_#topLevelField#isSet ?{core::int} let final core::int? #t19 = self::_#topLevelField in #t19{core::int} : throw new _in::LateError::fieldNI("topLevelField");
 @#C1
-static set topLevelField(core::int #t30) → void {
+static set topLevelField(core::int topLevelField#param) → void {
   self::_#topLevelField#isSet = true;
-  self::_#topLevelField = #t30;
+  self::_#topLevelField = topLevelField#param;
 }
 @#C1
 static get finalTopLevelField() → core::int
-  return self::_#finalTopLevelField#isSet ?{core::int} let final core::int? #t31 = self::_#finalTopLevelField in #t31{core::int} : throw new _in::LateError::fieldNI("finalTopLevelField");
+  return self::_#finalTopLevelField#isSet ?{core::int} let final core::int? #t20 = self::_#finalTopLevelField in #t20{core::int} : throw new _in::LateError::fieldNI("finalTopLevelField");
 @#C1
-static set finalTopLevelField(core::int #t32) → void
+static set finalTopLevelField(core::int finalTopLevelField#param) → void
   if(self::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     self::_#finalTopLevelField#isSet = true;
-    self::_#finalTopLevelField = #t32;
+    self::_#finalTopLevelField = finalTopLevelField#param;
   }
 @#C1
 static get finalTopLevelFieldWithInitializer() → core::int {
   if(!self::_#finalTopLevelFieldWithInitializer#isSet) {
-    final core::int #t33 = 0;
+    final core::int #t21 = 0;
     if(self::_#finalTopLevelFieldWithInitializer#isSet)
       throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer");
-    self::_#finalTopLevelFieldWithInitializer = #t33;
+    self::_#finalTopLevelFieldWithInitializer = #t21;
     self::_#finalTopLevelFieldWithInitializer#isSet = true;
   }
-  return let final core::int? #t34 = self::_#finalTopLevelFieldWithInitializer in #t34{core::int};
+  return let final core::int? #t22 = self::_#finalTopLevelFieldWithInitializer in #t22{core::int};
 }
 @#C1
 static get Extension|extensionStaticField() → core::int
-  return self::_#Extension|extensionStaticField#isSet ?{core::int} let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35{core::int} : throw new _in::LateError::fieldNI("extensionStaticField");
+  return self::_#Extension|extensionStaticField#isSet ?{core::int} let final core::int? #t23 = self::_#Extension|extensionStaticField in #t23{core::int} : throw new _in::LateError::fieldNI("extensionStaticField");
 @#C1
-static set Extension|extensionStaticField(core::int #t36) → void {
+static set Extension|extensionStaticField(core::int Extension|extensionStaticField#param) → void {
   self::_#Extension|extensionStaticField#isSet = true;
-  self::_#Extension|extensionStaticField = #t36;
+  self::_#Extension|extensionStaticField = Extension|extensionStaticField#param;
 }
 @#C1
 static get Extension|finalExtensionStaticField() → core::int
-  return self::_#Extension|finalExtensionStaticField#isSet ?{core::int} let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37{core::int} : throw new _in::LateError::fieldNI("finalExtensionStaticField");
+  return self::_#Extension|finalExtensionStaticField#isSet ?{core::int} let final core::int? #t24 = self::_#Extension|finalExtensionStaticField in #t24{core::int} : throw new _in::LateError::fieldNI("finalExtensionStaticField");
 @#C1
-static set Extension|finalExtensionStaticField(core::int #t38) → void
+static set Extension|finalExtensionStaticField(core::int Extension|finalExtensionStaticField#param) → void
   if(self::_#Extension|finalExtensionStaticField#isSet)
     throw new _in::LateError::fieldAI("finalExtensionStaticField");
   else {
     self::_#Extension|finalExtensionStaticField#isSet = true;
-    self::_#Extension|finalExtensionStaticField = #t38;
+    self::_#Extension|finalExtensionStaticField = Extension|finalExtensionStaticField#param;
   }
 @#C1
 static get Extension|finalExtensionStaticFieldWithInitializer() → core::int {
   if(!self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet) {
-    final core::int #t39 = 0;
+    final core::int #t25 = 0;
     if(self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet)
       throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer");
-    self::_#Extension|finalExtensionStaticFieldWithInitializer = #t39;
+    self::_#Extension|finalExtensionStaticFieldWithInitializer = #t25;
     self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet = true;
   }
-  return let final core::int? #t40 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t40{core::int};
+  return let final core::int? #t26 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t26{core::int};
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.modular.expect
index 784ff0c..061a612 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.modular.expect
@@ -30,69 +30,69 @@
   get instanceField() → core::int
     return this.{self::A::_#A#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#instanceField}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("instanceField");
   @#C1
-  set instanceField(core::int #t2) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{self::A::_#A#instanceField#isSet} = true;
-    this.{self::A::_#A#instanceField} = #t2;
+    this.{self::A::_#A#instanceField} = instanceField#param;
   }
   @#C1
   get finalInstanceField() → core::int
-    return this.{self::A::_#A#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
+    return this.{self::A::_#A#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
   @#C1
-  set finalInstanceField(core::int #t4) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::A::_#A#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{self::A::_#A#finalInstanceField#isSet} = true;
-      this.{self::A::_#A#finalInstanceField} = #t4;
+      this.{self::A::_#A#finalInstanceField} = finalInstanceField#param;
     }
   @#C1
   get finalInstanceFieldWithInitializer() → core::int {
     if(!this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet}{core::bool}) {
-      final core::int #t5 = 0;
+      final core::int #t3 = 0;
       if(this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet}{core::bool})
         throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer");
-      this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t5;
+      this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t3;
       this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet} = true;
     }
-    return let final core::int? #t6 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t6{core::int};
+    return let final core::int? #t4 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t4{core::int};
   }
   @#C1
   get covariantInstanceField() → core::num
-    return this.{self::A::_#A#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t7{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
+    return this.{self::A::_#A#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t5 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t5{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t8) → void {
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void {
     this.{self::A::_#A#covariantInstanceField#isSet} = true;
-    this.{self::A::_#A#covariantInstanceField} = #t8;
+    this.{self::A::_#A#covariantInstanceField} = covariantInstanceField#param;
   }
   @#C1
   static get staticField() → core::int
-    return self::A::_#staticField#isSet ?{core::int} let final core::int? #t9 = self::A::_#staticField in #t9{core::int} : throw new _in::LateError::fieldNI("staticField");
+    return self::A::_#staticField#isSet ?{core::int} let final core::int? #t6 = self::A::_#staticField in #t6{core::int} : throw new _in::LateError::fieldNI("staticField");
   @#C1
-  static set staticField(core::int #t10) → void {
+  static set staticField(core::int staticField#param) → void {
     self::A::_#staticField#isSet = true;
-    self::A::_#staticField = #t10;
+    self::A::_#staticField = staticField#param;
   }
   @#C1
   static get finalStaticField() → core::int
-    return self::A::_#finalStaticField#isSet ?{core::int} let final core::int? #t11 = self::A::_#finalStaticField in #t11{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
+    return self::A::_#finalStaticField#isSet ?{core::int} let final core::int? #t7 = self::A::_#finalStaticField in #t7{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
   @#C1
-  static set finalStaticField(core::int #t12) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::A::_#finalStaticField#isSet)
       throw new _in::LateError::fieldAI("finalStaticField");
     else {
       self::A::_#finalStaticField#isSet = true;
-      self::A::_#finalStaticField = #t12;
+      self::A::_#finalStaticField = finalStaticField#param;
     }
   @#C1
   static get finalStaticFieldWithInitializer() → core::int {
     if(!self::A::_#finalStaticFieldWithInitializer#isSet) {
-      final core::int #t13 = 0;
+      final core::int #t8 = 0;
       if(self::A::_#finalStaticFieldWithInitializer#isSet)
         throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer");
-      self::A::_#finalStaticFieldWithInitializer = #t13;
+      self::A::_#finalStaticFieldWithInitializer = #t8;
       self::A::_#finalStaticFieldWithInitializer#isSet = true;
     }
-    return let final core::int? #t14 = self::A::_#finalStaticFieldWithInitializer in #t14{core::int};
+    return let final core::int? #t9 = self::A::_#finalStaticFieldWithInitializer in #t9{core::int};
   }
 }
 abstract class B extends core::Object /*isMixinDeclaration*/  {
@@ -112,71 +112,71 @@
   static field core::bool _#finalStaticFieldWithInitializer#isSet = false;
   @#C1
   get instanceField() → core::int
-    return this.{self::B::_#B#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t15 = this.{self::B::_#B#instanceField}{core::int?} in #t15{core::int} : throw new _in::LateError::fieldNI("instanceField");
+    return this.{self::B::_#B#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t10 = this.{self::B::_#B#instanceField}{core::int?} in #t10{core::int} : throw new _in::LateError::fieldNI("instanceField");
   @#C1
-  set instanceField(core::int #t16) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{self::B::_#B#instanceField#isSet} = true;
-    this.{self::B::_#B#instanceField} = #t16;
+    this.{self::B::_#B#instanceField} = instanceField#param;
   }
   @#C1
   get finalInstanceField() → core::int
-    return this.{self::B::_#B#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t17 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t17{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
+    return this.{self::B::_#B#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
   @#C1
-  set finalInstanceField(core::int #t18) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::B::_#B#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{self::B::_#B#finalInstanceField#isSet} = true;
-      this.{self::B::_#B#finalInstanceField} = #t18;
+      this.{self::B::_#B#finalInstanceField} = finalInstanceField#param;
     }
   @#C1
   get finalInstanceFieldWithInitializer() → core::int {
     if(!this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet}{core::bool}) {
-      final core::int #t19 = 0;
+      final core::int #t12 = 0;
       if(this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet}{core::bool})
         throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer");
-      this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t19;
+      this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t12;
       this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet} = true;
     }
-    return let final core::int? #t20 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t20{core::int};
+    return let final core::int? #t13 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t13{core::int};
   }
   @#C1
   get covariantInstanceField() → core::num
-    return this.{self::B::_#B#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t21{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
+    return this.{self::B::_#B#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t14 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t14{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t22) → void {
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void {
     this.{self::B::_#B#covariantInstanceField#isSet} = true;
-    this.{self::B::_#B#covariantInstanceField} = #t22;
+    this.{self::B::_#B#covariantInstanceField} = covariantInstanceField#param;
   }
   @#C1
   static get staticField() → core::int
-    return self::B::_#staticField#isSet ?{core::int} let final core::int? #t23 = self::B::_#staticField in #t23{core::int} : throw new _in::LateError::fieldNI("staticField");
+    return self::B::_#staticField#isSet ?{core::int} let final core::int? #t15 = self::B::_#staticField in #t15{core::int} : throw new _in::LateError::fieldNI("staticField");
   @#C1
-  static set staticField(core::int #t24) → void {
+  static set staticField(core::int staticField#param) → void {
     self::B::_#staticField#isSet = true;
-    self::B::_#staticField = #t24;
+    self::B::_#staticField = staticField#param;
   }
   @#C1
   static get finalStaticField() → core::int
-    return self::B::_#finalStaticField#isSet ?{core::int} let final core::int? #t25 = self::B::_#finalStaticField in #t25{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
+    return self::B::_#finalStaticField#isSet ?{core::int} let final core::int? #t16 = self::B::_#finalStaticField in #t16{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
   @#C1
-  static set finalStaticField(core::int #t26) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::B::_#finalStaticField#isSet)
       throw new _in::LateError::fieldAI("finalStaticField");
     else {
       self::B::_#finalStaticField#isSet = true;
-      self::B::_#finalStaticField = #t26;
+      self::B::_#finalStaticField = finalStaticField#param;
     }
   @#C1
   static get finalStaticFieldWithInitializer() → core::int {
     if(!self::B::_#finalStaticFieldWithInitializer#isSet) {
-      final core::int #t27 = 0;
+      final core::int #t17 = 0;
       if(self::B::_#finalStaticFieldWithInitializer#isSet)
         throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer");
-      self::B::_#finalStaticFieldWithInitializer = #t27;
+      self::B::_#finalStaticFieldWithInitializer = #t17;
       self::B::_#finalStaticFieldWithInitializer#isSet = true;
     }
-    return let final core::int? #t28 = self::B::_#finalStaticFieldWithInitializer in #t28{core::int};
+    return let final core::int? #t18 = self::B::_#finalStaticFieldWithInitializer in #t18{core::int};
   }
 }
 extension Extension on self::A {
@@ -206,63 +206,63 @@
 static field core::bool _#Extension|finalExtensionStaticFieldWithInitializer#isSet = false;
 @#C1
 static get topLevelField() → core::int
-  return self::_#topLevelField#isSet ?{core::int} let final core::int? #t29 = self::_#topLevelField in #t29{core::int} : throw new _in::LateError::fieldNI("topLevelField");
+  return self::_#topLevelField#isSet ?{core::int} let final core::int? #t19 = self::_#topLevelField in #t19{core::int} : throw new _in::LateError::fieldNI("topLevelField");
 @#C1
-static set topLevelField(core::int #t30) → void {
+static set topLevelField(core::int topLevelField#param) → void {
   self::_#topLevelField#isSet = true;
-  self::_#topLevelField = #t30;
+  self::_#topLevelField = topLevelField#param;
 }
 @#C1
 static get finalTopLevelField() → core::int
-  return self::_#finalTopLevelField#isSet ?{core::int} let final core::int? #t31 = self::_#finalTopLevelField in #t31{core::int} : throw new _in::LateError::fieldNI("finalTopLevelField");
+  return self::_#finalTopLevelField#isSet ?{core::int} let final core::int? #t20 = self::_#finalTopLevelField in #t20{core::int} : throw new _in::LateError::fieldNI("finalTopLevelField");
 @#C1
-static set finalTopLevelField(core::int #t32) → void
+static set finalTopLevelField(core::int finalTopLevelField#param) → void
   if(self::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     self::_#finalTopLevelField#isSet = true;
-    self::_#finalTopLevelField = #t32;
+    self::_#finalTopLevelField = finalTopLevelField#param;
   }
 @#C1
 static get finalTopLevelFieldWithInitializer() → core::int {
   if(!self::_#finalTopLevelFieldWithInitializer#isSet) {
-    final core::int #t33 = 0;
+    final core::int #t21 = 0;
     if(self::_#finalTopLevelFieldWithInitializer#isSet)
       throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer");
-    self::_#finalTopLevelFieldWithInitializer = #t33;
+    self::_#finalTopLevelFieldWithInitializer = #t21;
     self::_#finalTopLevelFieldWithInitializer#isSet = true;
   }
-  return let final core::int? #t34 = self::_#finalTopLevelFieldWithInitializer in #t34{core::int};
+  return let final core::int? #t22 = self::_#finalTopLevelFieldWithInitializer in #t22{core::int};
 }
 @#C1
 static get Extension|extensionStaticField() → core::int
-  return self::_#Extension|extensionStaticField#isSet ?{core::int} let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35{core::int} : throw new _in::LateError::fieldNI("extensionStaticField");
+  return self::_#Extension|extensionStaticField#isSet ?{core::int} let final core::int? #t23 = self::_#Extension|extensionStaticField in #t23{core::int} : throw new _in::LateError::fieldNI("extensionStaticField");
 @#C1
-static set Extension|extensionStaticField(core::int #t36) → void {
+static set Extension|extensionStaticField(core::int Extension|extensionStaticField#param) → void {
   self::_#Extension|extensionStaticField#isSet = true;
-  self::_#Extension|extensionStaticField = #t36;
+  self::_#Extension|extensionStaticField = Extension|extensionStaticField#param;
 }
 @#C1
 static get Extension|finalExtensionStaticField() → core::int
-  return self::_#Extension|finalExtensionStaticField#isSet ?{core::int} let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37{core::int} : throw new _in::LateError::fieldNI("finalExtensionStaticField");
+  return self::_#Extension|finalExtensionStaticField#isSet ?{core::int} let final core::int? #t24 = self::_#Extension|finalExtensionStaticField in #t24{core::int} : throw new _in::LateError::fieldNI("finalExtensionStaticField");
 @#C1
-static set Extension|finalExtensionStaticField(core::int #t38) → void
+static set Extension|finalExtensionStaticField(core::int Extension|finalExtensionStaticField#param) → void
   if(self::_#Extension|finalExtensionStaticField#isSet)
     throw new _in::LateError::fieldAI("finalExtensionStaticField");
   else {
     self::_#Extension|finalExtensionStaticField#isSet = true;
-    self::_#Extension|finalExtensionStaticField = #t38;
+    self::_#Extension|finalExtensionStaticField = Extension|finalExtensionStaticField#param;
   }
 @#C1
 static get Extension|finalExtensionStaticFieldWithInitializer() → core::int {
   if(!self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet) {
-    final core::int #t39 = 0;
+    final core::int #t25 = 0;
     if(self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet)
       throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer");
-    self::_#Extension|finalExtensionStaticFieldWithInitializer = #t39;
+    self::_#Extension|finalExtensionStaticFieldWithInitializer = #t25;
     self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet = true;
   }
-  return let final core::int? #t40 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t40{core::int};
+  return let final core::int? #t26 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t26{core::int};
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.outline.expect
index 282fc21..6f107ab 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.outline.expect
@@ -27,25 +27,25 @@
   @self::Annotation::•()
   get instanceField() → core::int;
   @self::Annotation::•()
-  set instanceField(core::int #t1) → void;
+  set instanceField(core::int instanceField#param) → void;
   @self::Annotation::•()
   get finalInstanceField() → core::int;
   @self::Annotation::•()
-  set finalInstanceField(core::int #t2) → void;
+  set finalInstanceField(core::int finalInstanceField#param) → void;
   @self::Annotation::•()
   get finalInstanceFieldWithInitializer() → core::int;
   @self::Annotation::•()
   get covariantInstanceField() → core::num;
   @self::Annotation::•()
-  set covariantInstanceField(covariant-by-declaration core::num #t3) → void;
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void;
   @self::Annotation::•()
   static get staticField() → core::int;
   @self::Annotation::•()
-  static set staticField(core::int #t4) → void;
+  static set staticField(core::int staticField#param) → void;
   @self::Annotation::•()
   static get finalStaticField() → core::int;
   @self::Annotation::•()
-  static set finalStaticField(core::int #t5) → void;
+  static set finalStaticField(core::int finalStaticField#param) → void;
   @self::Annotation::•()
   static get finalStaticFieldWithInitializer() → core::int;
 }
@@ -67,25 +67,25 @@
   @self::Annotation::•()
   get instanceField() → core::int;
   @self::Annotation::•()
-  set instanceField(core::int #t6) → void;
+  set instanceField(core::int instanceField#param) → void;
   @self::Annotation::•()
   get finalInstanceField() → core::int;
   @self::Annotation::•()
-  set finalInstanceField(core::int #t7) → void;
+  set finalInstanceField(core::int finalInstanceField#param) → void;
   @self::Annotation::•()
   get finalInstanceFieldWithInitializer() → core::int;
   @self::Annotation::•()
   get covariantInstanceField() → core::num;
   @self::Annotation::•()
-  set covariantInstanceField(covariant-by-declaration core::num #t8) → void;
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void;
   @self::Annotation::•()
   static get staticField() → core::int;
   @self::Annotation::•()
-  static set staticField(core::int #t9) → void;
+  static set staticField(core::int staticField#param) → void;
   @self::Annotation::•()
   static get finalStaticField() → core::int;
   @self::Annotation::•()
-  static set finalStaticField(core::int #t10) → void;
+  static set finalStaticField(core::int finalStaticField#param) → void;
   @self::Annotation::•()
   static get finalStaticFieldWithInitializer() → core::int;
 }
@@ -117,21 +117,21 @@
 @self::Annotation::•()
 static get topLevelField() → core::int;
 @self::Annotation::•()
-static set topLevelField(core::int #t11) → void;
+static set topLevelField(core::int topLevelField#param) → void;
 @self::Annotation::•()
 static get finalTopLevelField() → core::int;
 @self::Annotation::•()
-static set finalTopLevelField(core::int #t12) → void;
+static set finalTopLevelField(core::int finalTopLevelField#param) → void;
 @self::Annotation::•()
 static get finalTopLevelFieldWithInitializer() → core::int;
 @self::Annotation::•()
 static get Extension|extensionStaticField() → core::int;
 @self::Annotation::•()
-static set Extension|extensionStaticField(core::int #t13) → void;
+static set Extension|extensionStaticField(core::int Extension|extensionStaticField#param) → void;
 @self::Annotation::•()
 static get Extension|finalExtensionStaticField() → core::int;
 @self::Annotation::•()
-static set Extension|finalExtensionStaticField(core::int #t14) → void;
+static set Extension|finalExtensionStaticField(core::int Extension|finalExtensionStaticField#param) → void;
 @self::Annotation::•()
 static get Extension|finalExtensionStaticFieldWithInitializer() → core::int;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.transformed.expect
index 784ff0c..061a612 100644
--- a/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_annotations.dart.weak.transformed.expect
@@ -30,69 +30,69 @@
   get instanceField() → core::int
     return this.{self::A::_#A#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#instanceField}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("instanceField");
   @#C1
-  set instanceField(core::int #t2) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{self::A::_#A#instanceField#isSet} = true;
-    this.{self::A::_#A#instanceField} = #t2;
+    this.{self::A::_#A#instanceField} = instanceField#param;
   }
   @#C1
   get finalInstanceField() → core::int
-    return this.{self::A::_#A#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
+    return this.{self::A::_#A#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::A::_#A#finalInstanceField}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
   @#C1
-  set finalInstanceField(core::int #t4) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::A::_#A#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{self::A::_#A#finalInstanceField#isSet} = true;
-      this.{self::A::_#A#finalInstanceField} = #t4;
+      this.{self::A::_#A#finalInstanceField} = finalInstanceField#param;
     }
   @#C1
   get finalInstanceFieldWithInitializer() → core::int {
     if(!this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet}{core::bool}) {
-      final core::int #t5 = 0;
+      final core::int #t3 = 0;
       if(this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet}{core::bool})
         throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer");
-      this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t5;
+      this.{self::A::_#A#finalInstanceFieldWithInitializer} = #t3;
       this.{self::A::_#A#finalInstanceFieldWithInitializer#isSet} = true;
     }
-    return let final core::int? #t6 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t6{core::int};
+    return let final core::int? #t4 = this.{self::A::_#A#finalInstanceFieldWithInitializer}{core::int?} in #t4{core::int};
   }
   @#C1
   get covariantInstanceField() → core::num
-    return this.{self::A::_#A#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t7 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t7{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
+    return this.{self::A::_#A#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t5 = this.{self::A::_#A#covariantInstanceField}{core::num?} in #t5{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t8) → void {
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void {
     this.{self::A::_#A#covariantInstanceField#isSet} = true;
-    this.{self::A::_#A#covariantInstanceField} = #t8;
+    this.{self::A::_#A#covariantInstanceField} = covariantInstanceField#param;
   }
   @#C1
   static get staticField() → core::int
-    return self::A::_#staticField#isSet ?{core::int} let final core::int? #t9 = self::A::_#staticField in #t9{core::int} : throw new _in::LateError::fieldNI("staticField");
+    return self::A::_#staticField#isSet ?{core::int} let final core::int? #t6 = self::A::_#staticField in #t6{core::int} : throw new _in::LateError::fieldNI("staticField");
   @#C1
-  static set staticField(core::int #t10) → void {
+  static set staticField(core::int staticField#param) → void {
     self::A::_#staticField#isSet = true;
-    self::A::_#staticField = #t10;
+    self::A::_#staticField = staticField#param;
   }
   @#C1
   static get finalStaticField() → core::int
-    return self::A::_#finalStaticField#isSet ?{core::int} let final core::int? #t11 = self::A::_#finalStaticField in #t11{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
+    return self::A::_#finalStaticField#isSet ?{core::int} let final core::int? #t7 = self::A::_#finalStaticField in #t7{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
   @#C1
-  static set finalStaticField(core::int #t12) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::A::_#finalStaticField#isSet)
       throw new _in::LateError::fieldAI("finalStaticField");
     else {
       self::A::_#finalStaticField#isSet = true;
-      self::A::_#finalStaticField = #t12;
+      self::A::_#finalStaticField = finalStaticField#param;
     }
   @#C1
   static get finalStaticFieldWithInitializer() → core::int {
     if(!self::A::_#finalStaticFieldWithInitializer#isSet) {
-      final core::int #t13 = 0;
+      final core::int #t8 = 0;
       if(self::A::_#finalStaticFieldWithInitializer#isSet)
         throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer");
-      self::A::_#finalStaticFieldWithInitializer = #t13;
+      self::A::_#finalStaticFieldWithInitializer = #t8;
       self::A::_#finalStaticFieldWithInitializer#isSet = true;
     }
-    return let final core::int? #t14 = self::A::_#finalStaticFieldWithInitializer in #t14{core::int};
+    return let final core::int? #t9 = self::A::_#finalStaticFieldWithInitializer in #t9{core::int};
   }
 }
 abstract class B extends core::Object /*isMixinDeclaration*/  {
@@ -112,71 +112,71 @@
   static field core::bool _#finalStaticFieldWithInitializer#isSet = false;
   @#C1
   get instanceField() → core::int
-    return this.{self::B::_#B#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t15 = this.{self::B::_#B#instanceField}{core::int?} in #t15{core::int} : throw new _in::LateError::fieldNI("instanceField");
+    return this.{self::B::_#B#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t10 = this.{self::B::_#B#instanceField}{core::int?} in #t10{core::int} : throw new _in::LateError::fieldNI("instanceField");
   @#C1
-  set instanceField(core::int #t16) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{self::B::_#B#instanceField#isSet} = true;
-    this.{self::B::_#B#instanceField} = #t16;
+    this.{self::B::_#B#instanceField} = instanceField#param;
   }
   @#C1
   get finalInstanceField() → core::int
-    return this.{self::B::_#B#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t17 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t17{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
+    return this.{self::B::_#B#finalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::B::_#B#finalInstanceField}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("finalInstanceField");
   @#C1
-  set finalInstanceField(core::int #t18) → void
+  set finalInstanceField(core::int finalInstanceField#param) → void
     if(this.{self::B::_#B#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{self::B::_#B#finalInstanceField#isSet} = true;
-      this.{self::B::_#B#finalInstanceField} = #t18;
+      this.{self::B::_#B#finalInstanceField} = finalInstanceField#param;
     }
   @#C1
   get finalInstanceFieldWithInitializer() → core::int {
     if(!this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet}{core::bool}) {
-      final core::int #t19 = 0;
+      final core::int #t12 = 0;
       if(this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet}{core::bool})
         throw new _in::LateError::fieldADI("finalInstanceFieldWithInitializer");
-      this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t19;
+      this.{self::B::_#B#finalInstanceFieldWithInitializer} = #t12;
       this.{self::B::_#B#finalInstanceFieldWithInitializer#isSet} = true;
     }
-    return let final core::int? #t20 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t20{core::int};
+    return let final core::int? #t13 = this.{self::B::_#B#finalInstanceFieldWithInitializer}{core::int?} in #t13{core::int};
   }
   @#C1
   get covariantInstanceField() → core::num
-    return this.{self::B::_#B#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t21 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t21{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
+    return this.{self::B::_#B#covariantInstanceField#isSet}{core::bool} ?{core::num} let final core::num? #t14 = this.{self::B::_#B#covariantInstanceField}{core::num?} in #t14{core::num} : throw new _in::LateError::fieldNI("covariantInstanceField");
   @#C1
-  set covariantInstanceField(covariant-by-declaration core::num #t22) → void {
+  set covariantInstanceField(covariant-by-declaration core::num covariantInstanceField#param) → void {
     this.{self::B::_#B#covariantInstanceField#isSet} = true;
-    this.{self::B::_#B#covariantInstanceField} = #t22;
+    this.{self::B::_#B#covariantInstanceField} = covariantInstanceField#param;
   }
   @#C1
   static get staticField() → core::int
-    return self::B::_#staticField#isSet ?{core::int} let final core::int? #t23 = self::B::_#staticField in #t23{core::int} : throw new _in::LateError::fieldNI("staticField");
+    return self::B::_#staticField#isSet ?{core::int} let final core::int? #t15 = self::B::_#staticField in #t15{core::int} : throw new _in::LateError::fieldNI("staticField");
   @#C1
-  static set staticField(core::int #t24) → void {
+  static set staticField(core::int staticField#param) → void {
     self::B::_#staticField#isSet = true;
-    self::B::_#staticField = #t24;
+    self::B::_#staticField = staticField#param;
   }
   @#C1
   static get finalStaticField() → core::int
-    return self::B::_#finalStaticField#isSet ?{core::int} let final core::int? #t25 = self::B::_#finalStaticField in #t25{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
+    return self::B::_#finalStaticField#isSet ?{core::int} let final core::int? #t16 = self::B::_#finalStaticField in #t16{core::int} : throw new _in::LateError::fieldNI("finalStaticField");
   @#C1
-  static set finalStaticField(core::int #t26) → void
+  static set finalStaticField(core::int finalStaticField#param) → void
     if(self::B::_#finalStaticField#isSet)
       throw new _in::LateError::fieldAI("finalStaticField");
     else {
       self::B::_#finalStaticField#isSet = true;
-      self::B::_#finalStaticField = #t26;
+      self::B::_#finalStaticField = finalStaticField#param;
     }
   @#C1
   static get finalStaticFieldWithInitializer() → core::int {
     if(!self::B::_#finalStaticFieldWithInitializer#isSet) {
-      final core::int #t27 = 0;
+      final core::int #t17 = 0;
       if(self::B::_#finalStaticFieldWithInitializer#isSet)
         throw new _in::LateError::fieldADI("finalStaticFieldWithInitializer");
-      self::B::_#finalStaticFieldWithInitializer = #t27;
+      self::B::_#finalStaticFieldWithInitializer = #t17;
       self::B::_#finalStaticFieldWithInitializer#isSet = true;
     }
-    return let final core::int? #t28 = self::B::_#finalStaticFieldWithInitializer in #t28{core::int};
+    return let final core::int? #t18 = self::B::_#finalStaticFieldWithInitializer in #t18{core::int};
   }
 }
 extension Extension on self::A {
@@ -206,63 +206,63 @@
 static field core::bool _#Extension|finalExtensionStaticFieldWithInitializer#isSet = false;
 @#C1
 static get topLevelField() → core::int
-  return self::_#topLevelField#isSet ?{core::int} let final core::int? #t29 = self::_#topLevelField in #t29{core::int} : throw new _in::LateError::fieldNI("topLevelField");
+  return self::_#topLevelField#isSet ?{core::int} let final core::int? #t19 = self::_#topLevelField in #t19{core::int} : throw new _in::LateError::fieldNI("topLevelField");
 @#C1
-static set topLevelField(core::int #t30) → void {
+static set topLevelField(core::int topLevelField#param) → void {
   self::_#topLevelField#isSet = true;
-  self::_#topLevelField = #t30;
+  self::_#topLevelField = topLevelField#param;
 }
 @#C1
 static get finalTopLevelField() → core::int
-  return self::_#finalTopLevelField#isSet ?{core::int} let final core::int? #t31 = self::_#finalTopLevelField in #t31{core::int} : throw new _in::LateError::fieldNI("finalTopLevelField");
+  return self::_#finalTopLevelField#isSet ?{core::int} let final core::int? #t20 = self::_#finalTopLevelField in #t20{core::int} : throw new _in::LateError::fieldNI("finalTopLevelField");
 @#C1
-static set finalTopLevelField(core::int #t32) → void
+static set finalTopLevelField(core::int finalTopLevelField#param) → void
   if(self::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     self::_#finalTopLevelField#isSet = true;
-    self::_#finalTopLevelField = #t32;
+    self::_#finalTopLevelField = finalTopLevelField#param;
   }
 @#C1
 static get finalTopLevelFieldWithInitializer() → core::int {
   if(!self::_#finalTopLevelFieldWithInitializer#isSet) {
-    final core::int #t33 = 0;
+    final core::int #t21 = 0;
     if(self::_#finalTopLevelFieldWithInitializer#isSet)
       throw new _in::LateError::fieldADI("finalTopLevelFieldWithInitializer");
-    self::_#finalTopLevelFieldWithInitializer = #t33;
+    self::_#finalTopLevelFieldWithInitializer = #t21;
     self::_#finalTopLevelFieldWithInitializer#isSet = true;
   }
-  return let final core::int? #t34 = self::_#finalTopLevelFieldWithInitializer in #t34{core::int};
+  return let final core::int? #t22 = self::_#finalTopLevelFieldWithInitializer in #t22{core::int};
 }
 @#C1
 static get Extension|extensionStaticField() → core::int
-  return self::_#Extension|extensionStaticField#isSet ?{core::int} let final core::int? #t35 = self::_#Extension|extensionStaticField in #t35{core::int} : throw new _in::LateError::fieldNI("extensionStaticField");
+  return self::_#Extension|extensionStaticField#isSet ?{core::int} let final core::int? #t23 = self::_#Extension|extensionStaticField in #t23{core::int} : throw new _in::LateError::fieldNI("extensionStaticField");
 @#C1
-static set Extension|extensionStaticField(core::int #t36) → void {
+static set Extension|extensionStaticField(core::int Extension|extensionStaticField#param) → void {
   self::_#Extension|extensionStaticField#isSet = true;
-  self::_#Extension|extensionStaticField = #t36;
+  self::_#Extension|extensionStaticField = Extension|extensionStaticField#param;
 }
 @#C1
 static get Extension|finalExtensionStaticField() → core::int
-  return self::_#Extension|finalExtensionStaticField#isSet ?{core::int} let final core::int? #t37 = self::_#Extension|finalExtensionStaticField in #t37{core::int} : throw new _in::LateError::fieldNI("finalExtensionStaticField");
+  return self::_#Extension|finalExtensionStaticField#isSet ?{core::int} let final core::int? #t24 = self::_#Extension|finalExtensionStaticField in #t24{core::int} : throw new _in::LateError::fieldNI("finalExtensionStaticField");
 @#C1
-static set Extension|finalExtensionStaticField(core::int #t38) → void
+static set Extension|finalExtensionStaticField(core::int Extension|finalExtensionStaticField#param) → void
   if(self::_#Extension|finalExtensionStaticField#isSet)
     throw new _in::LateError::fieldAI("finalExtensionStaticField");
   else {
     self::_#Extension|finalExtensionStaticField#isSet = true;
-    self::_#Extension|finalExtensionStaticField = #t38;
+    self::_#Extension|finalExtensionStaticField = Extension|finalExtensionStaticField#param;
   }
 @#C1
 static get Extension|finalExtensionStaticFieldWithInitializer() → core::int {
   if(!self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet) {
-    final core::int #t39 = 0;
+    final core::int #t25 = 0;
     if(self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet)
       throw new _in::LateError::fieldADI("finalExtensionStaticFieldWithInitializer");
-    self::_#Extension|finalExtensionStaticFieldWithInitializer = #t39;
+    self::_#Extension|finalExtensionStaticFieldWithInitializer = #t25;
     self::_#Extension|finalExtensionStaticFieldWithInitializer#isSet = true;
   }
-  return let final core::int? #t40 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t40{core::int};
+  return let final core::int? #t26 = self::_#Extension|finalExtensionStaticFieldWithInitializer in #t26{core::int};
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect
index a356dda..8bd9eb6 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.expect
@@ -16,8 +16,8 @@
     ;
   get nonNullableInstanceField() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField}{core::int?} in #t1 == null ?{core::int} this.{self::A::_#A#nonNullableInstanceField} = 0 : #t1{core::int};
-  set nonNullableInstanceField(core::int #t2) → void
-    this.{self::A::_#A#nonNullableInstanceField} = #t2;
+  set nonNullableInstanceField(core::int nonNullableInstanceField#param) → void
+    this.{self::A::_#A#nonNullableInstanceField} = nonNullableInstanceField#param;
   get nullableInstanceField() → core::int? {
     if(!this.{self::A::_#A#nullableInstanceField#isSet}{core::bool}) {
       this.{self::A::_#A#nullableInstanceField} = self::method();
@@ -25,14 +25,14 @@
     }
     return this.{self::A::_#A#nullableInstanceField}{core::int?};
   }
-  set nullableInstanceField(core::int? #t3) → void {
+  set nullableInstanceField(core::int? nullableInstanceField#param) → void {
     this.{self::A::_#A#nullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nullableInstanceField} = #t3;
+    this.{self::A::_#A#nullableInstanceField} = nullableInstanceField#param;
   }
   static get nonNullableStaticField() → core::int
-    return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4 == null ?{core::int} self::A::_#nonNullableStaticField = 0 : #t4{core::int};
-  static set nonNullableStaticField(core::int #t5) → void
-    self::A::_#nonNullableStaticField = #t5;
+    return let final core::int? #t2 = self::A::_#nonNullableStaticField in #t2 == null ?{core::int} self::A::_#nonNullableStaticField = 0 : #t2{core::int};
+  static set nonNullableStaticField(core::int nonNullableStaticField#param) → void
+    self::A::_#nonNullableStaticField = nonNullableStaticField#param;
   static get nullableStaticField() → core::int? {
     if(!self::A::_#nullableStaticField#isSet) {
       self::A::_#nullableStaticField = self::method();
@@ -40,9 +40,9 @@
     }
     return self::A::_#nullableStaticField;
   }
-  static set nullableStaticField(core::int? #t6) → void {
+  static set nullableStaticField(core::int? nullableStaticField#param) → void {
     self::A::_#nullableStaticField#isSet = true;
-    self::A::_#nullableStaticField = #t6;
+    self::A::_#nullableStaticField = nullableStaticField#param;
   }
 }
 class B extends self::A {
@@ -63,9 +63,9 @@
 static method method() → core::int?
   return null;
 static get nonNullableTopLevelField() → core::int
-  return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7 == null ?{core::int} self::_#nonNullableTopLevelField = 0 : #t7{core::int};
-static set nonNullableTopLevelField(core::int #t8) → void
-  self::_#nonNullableTopLevelField = #t8;
+  return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3 == null ?{core::int} self::_#nonNullableTopLevelField = 0 : #t3{core::int};
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 static get nullableTopLevelField() → core::int? {
   if(!self::_#nullableTopLevelField#isSet) {
     self::_#nullableTopLevelField = self::method();
@@ -73,8 +73,8 @@
   }
   return self::_#nullableTopLevelField;
 }
-static set nullableTopLevelField(core::int? #t9) → void {
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void {
   self::_#nullableTopLevelField#isSet = true;
-  self::_#nullableTopLevelField = #t9;
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect
index a356dda..8bd9eb6 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.strong.transformed.expect
@@ -16,8 +16,8 @@
     ;
   get nonNullableInstanceField() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField}{core::int?} in #t1 == null ?{core::int} this.{self::A::_#A#nonNullableInstanceField} = 0 : #t1{core::int};
-  set nonNullableInstanceField(core::int #t2) → void
-    this.{self::A::_#A#nonNullableInstanceField} = #t2;
+  set nonNullableInstanceField(core::int nonNullableInstanceField#param) → void
+    this.{self::A::_#A#nonNullableInstanceField} = nonNullableInstanceField#param;
   get nullableInstanceField() → core::int? {
     if(!this.{self::A::_#A#nullableInstanceField#isSet}{core::bool}) {
       this.{self::A::_#A#nullableInstanceField} = self::method();
@@ -25,14 +25,14 @@
     }
     return this.{self::A::_#A#nullableInstanceField}{core::int?};
   }
-  set nullableInstanceField(core::int? #t3) → void {
+  set nullableInstanceField(core::int? nullableInstanceField#param) → void {
     this.{self::A::_#A#nullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nullableInstanceField} = #t3;
+    this.{self::A::_#A#nullableInstanceField} = nullableInstanceField#param;
   }
   static get nonNullableStaticField() → core::int
-    return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4 == null ?{core::int} self::A::_#nonNullableStaticField = 0 : #t4{core::int};
-  static set nonNullableStaticField(core::int #t5) → void
-    self::A::_#nonNullableStaticField = #t5;
+    return let final core::int? #t2 = self::A::_#nonNullableStaticField in #t2 == null ?{core::int} self::A::_#nonNullableStaticField = 0 : #t2{core::int};
+  static set nonNullableStaticField(core::int nonNullableStaticField#param) → void
+    self::A::_#nonNullableStaticField = nonNullableStaticField#param;
   static get nullableStaticField() → core::int? {
     if(!self::A::_#nullableStaticField#isSet) {
       self::A::_#nullableStaticField = self::method();
@@ -40,9 +40,9 @@
     }
     return self::A::_#nullableStaticField;
   }
-  static set nullableStaticField(core::int? #t6) → void {
+  static set nullableStaticField(core::int? nullableStaticField#param) → void {
     self::A::_#nullableStaticField#isSet = true;
-    self::A::_#nullableStaticField = #t6;
+    self::A::_#nullableStaticField = nullableStaticField#param;
   }
 }
 class B extends self::A {
@@ -63,9 +63,9 @@
 static method method() → core::int?
   return null;
 static get nonNullableTopLevelField() → core::int
-  return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7 == null ?{core::int} self::_#nonNullableTopLevelField = 0 : #t7{core::int};
-static set nonNullableTopLevelField(core::int #t8) → void
-  self::_#nonNullableTopLevelField = #t8;
+  return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3 == null ?{core::int} self::_#nonNullableTopLevelField = 0 : #t3{core::int};
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 static get nullableTopLevelField() → core::int? {
   if(!self::_#nullableTopLevelField#isSet) {
     self::_#nullableTopLevelField = self::method();
@@ -73,8 +73,8 @@
   }
   return self::_#nullableTopLevelField;
 }
-static set nullableTopLevelField(core::int? #t9) → void {
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void {
   self::_#nullableTopLevelField#isSet = true;
-  self::_#nullableTopLevelField = #t9;
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.expect
index bb1a104..8ea522d 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.expect
@@ -21,9 +21,9 @@
     }
     return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField}{core::int?} in #t1{core::int};
   }
-  set nonNullableInstanceField(core::int #t2) → void {
+  set nonNullableInstanceField(core::int nonNullableInstanceField#param) → void {
     this.{self::A::_#A#nonNullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nonNullableInstanceField} = #t2;
+    this.{self::A::_#A#nonNullableInstanceField} = nonNullableInstanceField#param;
   }
   get nullableInstanceField() → core::int? {
     if(!this.{self::A::_#A#nullableInstanceField#isSet}{core::bool}) {
@@ -32,20 +32,20 @@
     }
     return this.{self::A::_#A#nullableInstanceField}{core::int?};
   }
-  set nullableInstanceField(core::int? #t3) → void {
+  set nullableInstanceField(core::int? nullableInstanceField#param) → void {
     this.{self::A::_#A#nullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nullableInstanceField} = #t3;
+    this.{self::A::_#A#nullableInstanceField} = nullableInstanceField#param;
   }
   static get nonNullableStaticField() → core::int {
     if(!self::A::_#nonNullableStaticField#isSet) {
       self::A::_#nonNullableStaticField = 0;
       self::A::_#nonNullableStaticField#isSet = true;
     }
-    return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4{core::int};
+    return let final core::int? #t2 = self::A::_#nonNullableStaticField in #t2{core::int};
   }
-  static set nonNullableStaticField(core::int #t5) → void {
+  static set nonNullableStaticField(core::int nonNullableStaticField#param) → void {
     self::A::_#nonNullableStaticField#isSet = true;
-    self::A::_#nonNullableStaticField = #t5;
+    self::A::_#nonNullableStaticField = nonNullableStaticField#param;
   }
   static get nullableStaticField() → core::int? {
     if(!self::A::_#nullableStaticField#isSet) {
@@ -54,9 +54,9 @@
     }
     return self::A::_#nullableStaticField;
   }
-  static set nullableStaticField(core::int? #t6) → void {
+  static set nullableStaticField(core::int? nullableStaticField#param) → void {
     self::A::_#nullableStaticField#isSet = true;
-    self::A::_#nullableStaticField = #t6;
+    self::A::_#nullableStaticField = nullableStaticField#param;
   }
 }
 class B extends self::A {
@@ -81,11 +81,11 @@
     self::_#nonNullableTopLevelField = 0;
     self::_#nonNullableTopLevelField#isSet = true;
   }
-  return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7{core::int};
+  return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3{core::int};
 }
-static set nonNullableTopLevelField(core::int #t8) → void {
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void {
   self::_#nonNullableTopLevelField#isSet = true;
-  self::_#nonNullableTopLevelField = #t8;
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 }
 static get nullableTopLevelField() → core::int? {
   if(!self::_#nullableTopLevelField#isSet) {
@@ -94,8 +94,8 @@
   }
   return self::_#nullableTopLevelField;
 }
-static set nullableTopLevelField(core::int? #t9) → void {
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void {
   self::_#nullableTopLevelField#isSet = true;
-  self::_#nullableTopLevelField = #t9;
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.modular.expect
index bb1a104..8ea522d 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.modular.expect
@@ -21,9 +21,9 @@
     }
     return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField}{core::int?} in #t1{core::int};
   }
-  set nonNullableInstanceField(core::int #t2) → void {
+  set nonNullableInstanceField(core::int nonNullableInstanceField#param) → void {
     this.{self::A::_#A#nonNullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nonNullableInstanceField} = #t2;
+    this.{self::A::_#A#nonNullableInstanceField} = nonNullableInstanceField#param;
   }
   get nullableInstanceField() → core::int? {
     if(!this.{self::A::_#A#nullableInstanceField#isSet}{core::bool}) {
@@ -32,20 +32,20 @@
     }
     return this.{self::A::_#A#nullableInstanceField}{core::int?};
   }
-  set nullableInstanceField(core::int? #t3) → void {
+  set nullableInstanceField(core::int? nullableInstanceField#param) → void {
     this.{self::A::_#A#nullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nullableInstanceField} = #t3;
+    this.{self::A::_#A#nullableInstanceField} = nullableInstanceField#param;
   }
   static get nonNullableStaticField() → core::int {
     if(!self::A::_#nonNullableStaticField#isSet) {
       self::A::_#nonNullableStaticField = 0;
       self::A::_#nonNullableStaticField#isSet = true;
     }
-    return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4{core::int};
+    return let final core::int? #t2 = self::A::_#nonNullableStaticField in #t2{core::int};
   }
-  static set nonNullableStaticField(core::int #t5) → void {
+  static set nonNullableStaticField(core::int nonNullableStaticField#param) → void {
     self::A::_#nonNullableStaticField#isSet = true;
-    self::A::_#nonNullableStaticField = #t5;
+    self::A::_#nonNullableStaticField = nonNullableStaticField#param;
   }
   static get nullableStaticField() → core::int? {
     if(!self::A::_#nullableStaticField#isSet) {
@@ -54,9 +54,9 @@
     }
     return self::A::_#nullableStaticField;
   }
-  static set nullableStaticField(core::int? #t6) → void {
+  static set nullableStaticField(core::int? nullableStaticField#param) → void {
     self::A::_#nullableStaticField#isSet = true;
-    self::A::_#nullableStaticField = #t6;
+    self::A::_#nullableStaticField = nullableStaticField#param;
   }
 }
 class B extends self::A {
@@ -81,11 +81,11 @@
     self::_#nonNullableTopLevelField = 0;
     self::_#nonNullableTopLevelField#isSet = true;
   }
-  return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7{core::int};
+  return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3{core::int};
 }
-static set nonNullableTopLevelField(core::int #t8) → void {
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void {
   self::_#nonNullableTopLevelField#isSet = true;
-  self::_#nonNullableTopLevelField = #t8;
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 }
 static get nullableTopLevelField() → core::int? {
   if(!self::_#nullableTopLevelField#isSet) {
@@ -94,8 +94,8 @@
   }
   return self::_#nullableTopLevelField;
 }
-static set nullableTopLevelField(core::int? #t9) → void {
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void {
   self::_#nullableTopLevelField#isSet = true;
-  self::_#nullableTopLevelField = #t9;
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.outline.expect
index 11774df..10c0fc6 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.outline.expect
@@ -14,13 +14,13 @@
   synthetic constructor •() → self::A
     ;
   get nonNullableInstanceField() → core::int;
-  set nonNullableInstanceField(core::int #t1) → void;
+  set nonNullableInstanceField(core::int nonNullableInstanceField#param) → void;
   get nullableInstanceField() → core::int?;
-  set nullableInstanceField(core::int? #t2) → void;
+  set nullableInstanceField(core::int? nullableInstanceField#param) → void;
   static get nonNullableStaticField() → core::int;
-  static set nonNullableStaticField(core::int #t3) → void;
+  static set nonNullableStaticField(core::int nonNullableStaticField#param) → void;
   static get nullableStaticField() → core::int?;
-  static set nullableStaticField(core::int? #t4) → void;
+  static set nullableStaticField(core::int? nullableStaticField#param) → void;
 }
 class B extends self::A {
   synthetic constructor •() → self::B
@@ -41,8 +41,8 @@
 static method method() → core::int?
   ;
 static get nonNullableTopLevelField() → core::int;
-static set nonNullableTopLevelField(core::int #t5) → void;
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void;
 static get nullableTopLevelField() → core::int?;
-static set nullableTopLevelField(core::int? #t6) → void;
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.transformed.expect
index bb1a104..8ea522d 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_inference.dart.weak.transformed.expect
@@ -21,9 +21,9 @@
     }
     return let final core::int? #t1 = this.{self::A::_#A#nonNullableInstanceField}{core::int?} in #t1{core::int};
   }
-  set nonNullableInstanceField(core::int #t2) → void {
+  set nonNullableInstanceField(core::int nonNullableInstanceField#param) → void {
     this.{self::A::_#A#nonNullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nonNullableInstanceField} = #t2;
+    this.{self::A::_#A#nonNullableInstanceField} = nonNullableInstanceField#param;
   }
   get nullableInstanceField() → core::int? {
     if(!this.{self::A::_#A#nullableInstanceField#isSet}{core::bool}) {
@@ -32,20 +32,20 @@
     }
     return this.{self::A::_#A#nullableInstanceField}{core::int?};
   }
-  set nullableInstanceField(core::int? #t3) → void {
+  set nullableInstanceField(core::int? nullableInstanceField#param) → void {
     this.{self::A::_#A#nullableInstanceField#isSet} = true;
-    this.{self::A::_#A#nullableInstanceField} = #t3;
+    this.{self::A::_#A#nullableInstanceField} = nullableInstanceField#param;
   }
   static get nonNullableStaticField() → core::int {
     if(!self::A::_#nonNullableStaticField#isSet) {
       self::A::_#nonNullableStaticField = 0;
       self::A::_#nonNullableStaticField#isSet = true;
     }
-    return let final core::int? #t4 = self::A::_#nonNullableStaticField in #t4{core::int};
+    return let final core::int? #t2 = self::A::_#nonNullableStaticField in #t2{core::int};
   }
-  static set nonNullableStaticField(core::int #t5) → void {
+  static set nonNullableStaticField(core::int nonNullableStaticField#param) → void {
     self::A::_#nonNullableStaticField#isSet = true;
-    self::A::_#nonNullableStaticField = #t5;
+    self::A::_#nonNullableStaticField = nonNullableStaticField#param;
   }
   static get nullableStaticField() → core::int? {
     if(!self::A::_#nullableStaticField#isSet) {
@@ -54,9 +54,9 @@
     }
     return self::A::_#nullableStaticField;
   }
-  static set nullableStaticField(core::int? #t6) → void {
+  static set nullableStaticField(core::int? nullableStaticField#param) → void {
     self::A::_#nullableStaticField#isSet = true;
-    self::A::_#nullableStaticField = #t6;
+    self::A::_#nullableStaticField = nullableStaticField#param;
   }
 }
 class B extends self::A {
@@ -81,11 +81,11 @@
     self::_#nonNullableTopLevelField = 0;
     self::_#nonNullableTopLevelField#isSet = true;
   }
-  return let final core::int? #t7 = self::_#nonNullableTopLevelField in #t7{core::int};
+  return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3{core::int};
 }
-static set nonNullableTopLevelField(core::int #t8) → void {
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void {
   self::_#nonNullableTopLevelField#isSet = true;
-  self::_#nonNullableTopLevelField = #t8;
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 }
 static get nullableTopLevelField() → core::int? {
   if(!self::_#nullableTopLevelField#isSet) {
@@ -94,8 +94,8 @@
   }
   return self::_#nullableTopLevelField;
 }
-static set nullableTopLevelField(core::int? #t9) → void {
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void {
   self::_#nullableTopLevelField#isSet = true;
-  self::_#nullableTopLevelField = #t9;
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect
index 7d0e4e3..da328ed 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.expect
@@ -16,42 +16,42 @@
     ;
   static get lateStaticField1() → core::int
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} self::Class::_#lateStaticField1 = 87 : #t1{core::int};
-  static set lateStaticField1(core::int #t2) → void
-    self::Class::_#lateStaticField1 = #t2;
+  static set lateStaticField1(core::int lateStaticField1#param) → void
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   static get lateStaticField2() → core::int
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} self::Class::_#lateStaticField2 = 42 : #t3{core::int};
-  static set lateStaticField2(core::int #t4) → void
-    self::Class::_#lateStaticField2 = #t4;
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2 == null ?{core::int} self::Class::_#lateStaticField2 = 42 : #t2{core::int};
+  static set lateStaticField2(core::int lateStaticField2#param) → void
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
     self::Class::lateStaticField2 = 43;
     self::expect(43, self::Class::lateStaticField2);
   }
   get lateInstanceField() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5 == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t5{core::int};
-  set lateInstanceField(core::int #t6) → void
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3 == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t3{core::int};
+  set lateInstanceField(core::int lateInstanceField#param) → void
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   get lateGenericField1() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField1#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField1#isSet} = true;
     }
-    return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t7{self::Class::T%};
+    return let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t4{self::Class::T%};
   }
-  set lateGenericField1(covariant-by-class self::Class::T% #t8) → void {
+  set lateGenericField1(covariant-by-class self::Class::T% lateGenericField1#param) → void {
     this.{self::Class::_#Class#lateGenericField1#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField1} = #t8;
+    this.{self::Class::_#Class#lateGenericField1} = lateGenericField1#param;
   }
   get lateGenericField2() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField2#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField2#isSet} = true;
     }
-    return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t9{self::Class::T%};
+    return let final self::Class::T? #t5 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t5{self::Class::T%};
   }
-  set lateGenericField2(covariant-by-class self::Class::T% #t10) → void {
+  set lateGenericField2(covariant-by-class self::Class::T% lateGenericField2#param) → void {
     this.{self::Class::_#Class#lateGenericField2#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField2} = #t10;
+    this.{self::Class::_#Class#lateGenericField2} = lateGenericField2#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int});
@@ -77,17 +77,17 @@
 static field core::int? _#Extension|lateExtensionField1 = null;
 static field core::int? _#Extension|lateExtensionField2 = null;
 static get lateTopLevelField1() → core::int
-  return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11 == null ?{core::int} self::_#lateTopLevelField1 = 123 : #t11{core::int};
-static set lateTopLevelField1(core::int #t12) → void
-  self::_#lateTopLevelField1 = #t12;
+  return let final core::int? #t6 = self::_#lateTopLevelField1 in #t6 == null ?{core::int} self::_#lateTopLevelField1 = 123 : #t6{core::int};
+static set lateTopLevelField1(core::int lateTopLevelField1#param) → void
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 static get Extension|lateExtensionField1() → core::int
-  return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13 == null ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t13{core::int};
-static set Extension|lateExtensionField1(core::int #t14) → void
-  self::_#Extension|lateExtensionField1 = #t14;
+  return let final core::int? #t7 = self::_#Extension|lateExtensionField1 in #t7 == null ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t7{core::int};
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 static get Extension|lateExtensionField2() → core::int
-  return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15 == null ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t15{core::int};
-static set Extension|lateExtensionField2(core::int #t16) → void
-  self::_#Extension|lateExtensionField2 = #t16;
+  return let final core::int? #t8 = self::_#Extension|lateExtensionField2 in #t8 == null ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t8{core::int};
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
   self::Extension|lateExtensionField2 = 43;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect
index 7d0e4e3..da328ed 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.strong.transformed.expect
@@ -16,42 +16,42 @@
     ;
   static get lateStaticField1() → core::int
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} self::Class::_#lateStaticField1 = 87 : #t1{core::int};
-  static set lateStaticField1(core::int #t2) → void
-    self::Class::_#lateStaticField1 = #t2;
+  static set lateStaticField1(core::int lateStaticField1#param) → void
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   static get lateStaticField2() → core::int
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} self::Class::_#lateStaticField2 = 42 : #t3{core::int};
-  static set lateStaticField2(core::int #t4) → void
-    self::Class::_#lateStaticField2 = #t4;
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2 == null ?{core::int} self::Class::_#lateStaticField2 = 42 : #t2{core::int};
+  static set lateStaticField2(core::int lateStaticField2#param) → void
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
     self::Class::lateStaticField2 = 43;
     self::expect(43, self::Class::lateStaticField2);
   }
   get lateInstanceField() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5 == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t5{core::int};
-  set lateInstanceField(core::int #t6) → void
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3 == null ?{core::int} this.{self::Class::_#Class#lateInstanceField} = 16 : #t3{core::int};
+  set lateInstanceField(core::int lateInstanceField#param) → void
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   get lateGenericField1() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField1#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField1#isSet} = true;
     }
-    return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t7{self::Class::T%};
+    return let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t4{self::Class::T%};
   }
-  set lateGenericField1(covariant-by-class self::Class::T% #t8) → void {
+  set lateGenericField1(covariant-by-class self::Class::T% lateGenericField1#param) → void {
     this.{self::Class::_#Class#lateGenericField1#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField1} = #t8;
+    this.{self::Class::_#Class#lateGenericField1} = lateGenericField1#param;
   }
   get lateGenericField2() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField2#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField2#isSet} = true;
     }
-    return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t9{self::Class::T%};
+    return let final self::Class::T? #t5 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t5{self::Class::T%};
   }
-  set lateGenericField2(covariant-by-class self::Class::T% #t10) → void {
+  set lateGenericField2(covariant-by-class self::Class::T% lateGenericField2#param) → void {
     this.{self::Class::_#Class#lateGenericField2#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField2} = #t10;
+    this.{self::Class::_#Class#lateGenericField2} = lateGenericField2#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int});
@@ -77,17 +77,17 @@
 static field core::int? _#Extension|lateExtensionField1 = null;
 static field core::int? _#Extension|lateExtensionField2 = null;
 static get lateTopLevelField1() → core::int
-  return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11 == null ?{core::int} self::_#lateTopLevelField1 = 123 : #t11{core::int};
-static set lateTopLevelField1(core::int #t12) → void
-  self::_#lateTopLevelField1 = #t12;
+  return let final core::int? #t6 = self::_#lateTopLevelField1 in #t6 == null ?{core::int} self::_#lateTopLevelField1 = 123 : #t6{core::int};
+static set lateTopLevelField1(core::int lateTopLevelField1#param) → void
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 static get Extension|lateExtensionField1() → core::int
-  return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13 == null ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t13{core::int};
-static set Extension|lateExtensionField1(core::int #t14) → void
-  self::_#Extension|lateExtensionField1 = #t14;
+  return let final core::int? #t7 = self::_#Extension|lateExtensionField1 in #t7 == null ?{core::int} self::_#Extension|lateExtensionField1 = 87 : #t7{core::int};
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 static get Extension|lateExtensionField2() → core::int
-  return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15 == null ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t15{core::int};
-static set Extension|lateExtensionField2(core::int #t16) → void
-  self::_#Extension|lateExtensionField2 = #t16;
+  return let final core::int? #t8 = self::_#Extension|lateExtensionField2 in #t8 == null ?{core::int} self::_#Extension|lateExtensionField2 = 42 : #t8{core::int};
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
   self::Extension|lateExtensionField2 = 43;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect
index 8d1c620..5d41a8a 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.expect
@@ -24,20 +24,20 @@
     }
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int};
   }
-  static set lateStaticField1(core::int #t2) → void {
+  static set lateStaticField1(core::int lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t2;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int {
     if(!self::Class::_#lateStaticField2#isSet) {
       self::Class::_#lateStaticField2 = 42;
       self::Class::_#lateStaticField2#isSet = true;
     }
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int};
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int};
   }
-  static set lateStaticField2(core::int #t4) → void {
+  static set lateStaticField2(core::int lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t4;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -49,33 +49,33 @@
       this.{self::Class::_#Class#lateInstanceField} = 16;
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
     }
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int};
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int};
   }
-  set lateInstanceField(core::int #t6) → void {
+  set lateInstanceField(core::int lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericField1() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField1#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField1#isSet} = true;
     }
-    return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t7{self::Class::T%};
+    return let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t4{self::Class::T%};
   }
-  set lateGenericField1(covariant-by-class self::Class::T% #t8) → void {
+  set lateGenericField1(covariant-by-class self::Class::T% lateGenericField1#param) → void {
     this.{self::Class::_#Class#lateGenericField1#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField1} = #t8;
+    this.{self::Class::_#Class#lateGenericField1} = lateGenericField1#param;
   }
   get lateGenericField2() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField2#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField2#isSet} = true;
     }
-    return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t9{self::Class::T%};
+    return let final self::Class::T? #t5 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t5{self::Class::T%};
   }
-  set lateGenericField2(covariant-by-class self::Class::T% #t10) → void {
+  set lateGenericField2(covariant-by-class self::Class::T% lateGenericField2#param) → void {
     this.{self::Class::_#Class#lateGenericField2#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField2} = #t10;
+    this.{self::Class::_#Class#lateGenericField2} = lateGenericField2#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int});
@@ -110,33 +110,33 @@
     self::_#lateTopLevelField1 = 123;
     self::_#lateTopLevelField1#isSet = true;
   }
-  return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11{core::int};
+  return let final core::int? #t6 = self::_#lateTopLevelField1 in #t6{core::int};
 }
-static set lateTopLevelField1(core::int #t12) → void {
+static set lateTopLevelField1(core::int lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t12;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static get Extension|lateExtensionField1() → core::int {
   if(!self::_#Extension|lateExtensionField1#isSet) {
     self::_#Extension|lateExtensionField1 = 87;
     self::_#Extension|lateExtensionField1#isSet = true;
   }
-  return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13{core::int};
+  return let final core::int? #t7 = self::_#Extension|lateExtensionField1 in #t7{core::int};
 }
-static set Extension|lateExtensionField1(core::int #t14) → void {
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t14;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int {
   if(!self::_#Extension|lateExtensionField2#isSet) {
     self::_#Extension|lateExtensionField2 = 42;
     self::_#Extension|lateExtensionField2#isSet = true;
   }
-  return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15{core::int};
+  return let final core::int? #t8 = self::_#Extension|lateExtensionField2 in #t8{core::int};
 }
-static set Extension|lateExtensionField2(core::int #t16) → void {
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t16;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.modular.expect
index 8d1c620..5d41a8a 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.modular.expect
@@ -24,20 +24,20 @@
     }
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int};
   }
-  static set lateStaticField1(core::int #t2) → void {
+  static set lateStaticField1(core::int lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t2;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int {
     if(!self::Class::_#lateStaticField2#isSet) {
       self::Class::_#lateStaticField2 = 42;
       self::Class::_#lateStaticField2#isSet = true;
     }
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int};
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int};
   }
-  static set lateStaticField2(core::int #t4) → void {
+  static set lateStaticField2(core::int lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t4;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -49,33 +49,33 @@
       this.{self::Class::_#Class#lateInstanceField} = 16;
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
     }
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int};
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int};
   }
-  set lateInstanceField(core::int #t6) → void {
+  set lateInstanceField(core::int lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericField1() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField1#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField1#isSet} = true;
     }
-    return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t7{self::Class::T%};
+    return let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t4{self::Class::T%};
   }
-  set lateGenericField1(covariant-by-class self::Class::T% #t8) → void {
+  set lateGenericField1(covariant-by-class self::Class::T% lateGenericField1#param) → void {
     this.{self::Class::_#Class#lateGenericField1#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField1} = #t8;
+    this.{self::Class::_#Class#lateGenericField1} = lateGenericField1#param;
   }
   get lateGenericField2() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField2#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField2#isSet} = true;
     }
-    return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t9{self::Class::T%};
+    return let final self::Class::T? #t5 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t5{self::Class::T%};
   }
-  set lateGenericField2(covariant-by-class self::Class::T% #t10) → void {
+  set lateGenericField2(covariant-by-class self::Class::T% lateGenericField2#param) → void {
     this.{self::Class::_#Class#lateGenericField2#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField2} = #t10;
+    this.{self::Class::_#Class#lateGenericField2} = lateGenericField2#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int});
@@ -110,33 +110,33 @@
     self::_#lateTopLevelField1 = 123;
     self::_#lateTopLevelField1#isSet = true;
   }
-  return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11{core::int};
+  return let final core::int? #t6 = self::_#lateTopLevelField1 in #t6{core::int};
 }
-static set lateTopLevelField1(core::int #t12) → void {
+static set lateTopLevelField1(core::int lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t12;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static get Extension|lateExtensionField1() → core::int {
   if(!self::_#Extension|lateExtensionField1#isSet) {
     self::_#Extension|lateExtensionField1 = 87;
     self::_#Extension|lateExtensionField1#isSet = true;
   }
-  return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13{core::int};
+  return let final core::int? #t7 = self::_#Extension|lateExtensionField1 in #t7{core::int};
 }
-static set Extension|lateExtensionField1(core::int #t14) → void {
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t14;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int {
   if(!self::_#Extension|lateExtensionField2#isSet) {
     self::_#Extension|lateExtensionField2 = 42;
     self::_#Extension|lateExtensionField2#isSet = true;
   }
-  return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15{core::int};
+  return let final core::int? #t8 = self::_#Extension|lateExtensionField2 in #t8{core::int};
 }
-static set Extension|lateExtensionField2(core::int #t16) → void {
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t16;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.outline.expect
index c20e857..d8734f1 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.outline.expect
@@ -17,17 +17,17 @@
   constructor •(self::Class::T% field) → self::Class<self::Class::T%>
     ;
   static get lateStaticField1() → core::int;
-  static set lateStaticField1(core::int #t1) → void;
+  static set lateStaticField1(core::int lateStaticField1#param) → void;
   static get lateStaticField2() → core::int;
-  static set lateStaticField2(core::int #t2) → void;
+  static set lateStaticField2(core::int lateStaticField2#param) → void;
   static method staticMethod() → dynamic
     ;
   get lateInstanceField() → core::int;
-  set lateInstanceField(core::int #t3) → void;
+  set lateInstanceField(core::int lateInstanceField#param) → void;
   get lateGenericField1() → self::Class::T%;
-  set lateGenericField1(covariant-by-class self::Class::T% #t4) → void;
+  set lateGenericField1(covariant-by-class self::Class::T% lateGenericField1#param) → void;
   get lateGenericField2() → self::Class::T%;
-  set lateGenericField2(covariant-by-class self::Class::T% #t5) → void;
+  set lateGenericField2(covariant-by-class self::Class::T% lateGenericField2#param) → void;
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic
     ;
 }
@@ -49,11 +49,11 @@
 static field core::int? _#Extension|lateExtensionField2;
 static field core::bool _#Extension|lateExtensionField2#isSet;
 static get lateTopLevelField1() → core::int;
-static set lateTopLevelField1(core::int #t6) → void;
+static set lateTopLevelField1(core::int lateTopLevelField1#param) → void;
 static get Extension|lateExtensionField1() → core::int;
-static set Extension|lateExtensionField1(core::int #t7) → void;
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void;
 static get Extension|lateExtensionField2() → core::int;
-static set Extension|lateExtensionField2(core::int #t8) → void;
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void;
 static method Extension|staticMethod() → dynamic
   ;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect
index 8d1c620..5d41a8a 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_with_initializer.dart.weak.transformed.expect
@@ -24,20 +24,20 @@
     }
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int};
   }
-  static set lateStaticField1(core::int #t2) → void {
+  static set lateStaticField1(core::int lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t2;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int {
     if(!self::Class::_#lateStaticField2#isSet) {
       self::Class::_#lateStaticField2 = 42;
       self::Class::_#lateStaticField2#isSet = true;
     }
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int};
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int};
   }
-  static set lateStaticField2(core::int #t4) → void {
+  static set lateStaticField2(core::int lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t4;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -49,33 +49,33 @@
       this.{self::Class::_#Class#lateInstanceField} = 16;
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
     }
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int};
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int};
   }
-  set lateInstanceField(core::int #t6) → void {
+  set lateInstanceField(core::int lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericField1() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField1#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField1} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField1#isSet} = true;
     }
-    return let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t7{self::Class::T%};
+    return let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericField1}{self::Class::T?} in #t4{self::Class::T%};
   }
-  set lateGenericField1(covariant-by-class self::Class::T% #t8) → void {
+  set lateGenericField1(covariant-by-class self::Class::T% lateGenericField1#param) → void {
     this.{self::Class::_#Class#lateGenericField1#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField1} = #t8;
+    this.{self::Class::_#Class#lateGenericField1} = lateGenericField1#param;
   }
   get lateGenericField2() → self::Class::T% {
     if(!this.{self::Class::_#Class#lateGenericField2#isSet}{core::bool}) {
       this.{self::Class::_#Class#lateGenericField2} = this.{self::Class::field}{self::Class::T%};
       this.{self::Class::_#Class#lateGenericField2#isSet} = true;
     }
-    return let final self::Class::T? #t9 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t9{self::Class::T%};
+    return let final self::Class::T? #t5 = this.{self::Class::_#Class#lateGenericField2}{self::Class::T?} in #t5{self::Class::T%};
   }
-  set lateGenericField2(covariant-by-class self::Class::T% #t10) → void {
+  set lateGenericField2(covariant-by-class self::Class::T% lateGenericField2#param) → void {
     this.{self::Class::_#Class#lateGenericField2#isSet} = true;
-    this.{self::Class::_#Class#lateGenericField2} = #t10;
+    this.{self::Class::_#Class#lateGenericField2} = lateGenericField2#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int});
@@ -110,33 +110,33 @@
     self::_#lateTopLevelField1 = 123;
     self::_#lateTopLevelField1#isSet = true;
   }
-  return let final core::int? #t11 = self::_#lateTopLevelField1 in #t11{core::int};
+  return let final core::int? #t6 = self::_#lateTopLevelField1 in #t6{core::int};
 }
-static set lateTopLevelField1(core::int #t12) → void {
+static set lateTopLevelField1(core::int lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t12;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static get Extension|lateExtensionField1() → core::int {
   if(!self::_#Extension|lateExtensionField1#isSet) {
     self::_#Extension|lateExtensionField1 = 87;
     self::_#Extension|lateExtensionField1#isSet = true;
   }
-  return let final core::int? #t13 = self::_#Extension|lateExtensionField1 in #t13{core::int};
+  return let final core::int? #t7 = self::_#Extension|lateExtensionField1 in #t7{core::int};
 }
-static set Extension|lateExtensionField1(core::int #t14) → void {
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t14;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int {
   if(!self::_#Extension|lateExtensionField2#isSet) {
     self::_#Extension|lateExtensionField2 = 42;
     self::_#Extension|lateExtensionField2#isSet = true;
   }
-  return let final core::int? #t15 = self::_#Extension|lateExtensionField2 in #t15{core::int};
+  return let final core::int? #t8 = self::_#Extension|lateExtensionField2 in #t8{core::int};
 }
-static set Extension|lateExtensionField2(core::int #t16) → void {
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t16;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect
index 1483023..bb6521e 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.expect
@@ -14,26 +14,26 @@
     ;
   static get lateStaticField1() → core::int
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
-  static set lateStaticField1(core::int #t2) → void
-    self::Class::_#lateStaticField1 = #t2;
+  static set lateStaticField1(core::int lateStaticField1#param) → void
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   static get lateStaticField2() → core::int
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
-  static set lateStaticField2(core::int #t4) → void
-    self::Class::_#lateStaticField2 = #t4;
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t2{core::int};
+  static set lateStaticField2(core::int lateStaticField2#param) → void
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
     self::Class::lateStaticField2 = 42;
     self::expect(42, self::Class::lateStaticField2);
   }
   get lateInstanceField() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
-  set lateInstanceField(core::int #t6) → void
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t3{core::int};
+  set lateInstanceField(core::int lateInstanceField#param) → void
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   get lateGenericInstanceField() → self::Class::T%
-    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t7{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T% #t8) → void {
+    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t4{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
+  set lateGenericInstanceField(covariant-by-class self::Class::T% lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -57,17 +57,17 @@
 static field core::int? _#Extension|lateExtensionField1 = null;
 static field core::int? _#Extension|lateExtensionField2 = null;
 static get lateTopLevelField() → core::int
-  return let final core::int? #t9 = self::_#lateTopLevelField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t9{core::int};
-static set lateTopLevelField(core::int #t10) → void
-  self::_#lateTopLevelField = #t10;
+  return let final core::int? #t5 = self::_#lateTopLevelField in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t5{core::int};
+static set lateTopLevelField(core::int lateTopLevelField#param) → void
+  self::_#lateTopLevelField = lateTopLevelField#param;
 static get Extension|lateExtensionField1() → core::int
-  return let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t11{core::int};
-static set Extension|lateExtensionField1(core::int #t12) → void
-  self::_#Extension|lateExtensionField1 = #t12;
+  return let final core::int? #t6 = self::_#Extension|lateExtensionField1 in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t6{core::int};
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 static get Extension|lateExtensionField2() → core::int
-  return let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t13{core::int};
-static set Extension|lateExtensionField2(core::int #t14) → void
-  self::_#Extension|lateExtensionField2 = #t14;
+  return let final core::int? #t7 = self::_#Extension|lateExtensionField2 in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t7{core::int};
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
   self::Extension|lateExtensionField2 = 42;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect
index 1483023..bb6521e 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.strong.transformed.expect
@@ -14,26 +14,26 @@
     ;
   static get lateStaticField1() → core::int
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
-  static set lateStaticField1(core::int #t2) → void
-    self::Class::_#lateStaticField1 = #t2;
+  static set lateStaticField1(core::int lateStaticField1#param) → void
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   static get lateStaticField2() → core::int
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
-  static set lateStaticField2(core::int #t4) → void
-    self::Class::_#lateStaticField2 = #t4;
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t2{core::int};
+  static set lateStaticField2(core::int lateStaticField2#param) → void
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
     self::Class::lateStaticField2 = 42;
     self::expect(42, self::Class::lateStaticField2);
   }
   get lateInstanceField() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
-  set lateInstanceField(core::int #t6) → void
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t3{core::int};
+  set lateInstanceField(core::int lateInstanceField#param) → void
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   get lateGenericInstanceField() → self::Class::T%
-    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t7{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T% #t8) → void {
+    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t4{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
+  set lateGenericInstanceField(covariant-by-class self::Class::T% lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -57,17 +57,17 @@
 static field core::int? _#Extension|lateExtensionField1 = null;
 static field core::int? _#Extension|lateExtensionField2 = null;
 static get lateTopLevelField() → core::int
-  return let final core::int? #t9 = self::_#lateTopLevelField in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t9{core::int};
-static set lateTopLevelField(core::int #t10) → void
-  self::_#lateTopLevelField = #t10;
+  return let final core::int? #t5 = self::_#lateTopLevelField in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t5{core::int};
+static set lateTopLevelField(core::int lateTopLevelField#param) → void
+  self::_#lateTopLevelField = lateTopLevelField#param;
 static get Extension|lateExtensionField1() → core::int
-  return let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t11{core::int};
-static set Extension|lateExtensionField1(core::int #t12) → void
-  self::_#Extension|lateExtensionField1 = #t12;
+  return let final core::int? #t6 = self::_#Extension|lateExtensionField1 in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t6{core::int};
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 static get Extension|lateExtensionField2() → core::int
-  return let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t13{core::int};
-static set Extension|lateExtensionField2(core::int #t14) → void
-  self::_#Extension|lateExtensionField2 = #t14;
+  return let final core::int? #t7 = self::_#Extension|lateExtensionField2 in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t7{core::int};
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
   self::Extension|lateExtensionField2 = 42;
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect
index 9734ddb..57271db 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int
     return self::Class::_#lateStaticField1#isSet ?{core::int} let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int} : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int #t2) → void {
+  static set lateStaticField1(core::int lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t2;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int
-    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int #t4) → void {
+    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
+  static set lateStaticField2(core::int lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t4;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -33,16 +33,16 @@
     self::expect(42, self::Class::lateStaticField2);
   }
   get lateInstanceField() → core::int
-    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int #t6) → void {
+    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
+  set lateInstanceField(core::int lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T%
-    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t7{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T% #t8) → void {
+    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t4{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
+  set lateGenericInstanceField(covariant-by-class self::Class::T% lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -71,22 +71,22 @@
 static field core::int? _#Extension|lateExtensionField2 = null;
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int
-  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t9 = self::_#lateTopLevelField in #t9{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int #t10) → void {
+  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t5 = self::_#lateTopLevelField in #t5{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
+static set lateTopLevelField(core::int lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t10;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int
-  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int #t12) → void {
+  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t6 = self::_#Extension|lateExtensionField1 in #t6{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t12;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int
-  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int #t14) → void {
+  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t7 = self::_#Extension|lateExtensionField2 in #t7{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t14;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.modular.expect
index 9734ddb..57271db 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.modular.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int
     return self::Class::_#lateStaticField1#isSet ?{core::int} let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int} : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int #t2) → void {
+  static set lateStaticField1(core::int lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t2;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int
-    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int #t4) → void {
+    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
+  static set lateStaticField2(core::int lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t4;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -33,16 +33,16 @@
     self::expect(42, self::Class::lateStaticField2);
   }
   get lateInstanceField() → core::int
-    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int #t6) → void {
+    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
+  set lateInstanceField(core::int lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T%
-    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t7{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T% #t8) → void {
+    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t4{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
+  set lateGenericInstanceField(covariant-by-class self::Class::T% lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -71,22 +71,22 @@
 static field core::int? _#Extension|lateExtensionField2 = null;
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int
-  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t9 = self::_#lateTopLevelField in #t9{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int #t10) → void {
+  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t5 = self::_#lateTopLevelField in #t5{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
+static set lateTopLevelField(core::int lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t10;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int
-  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int #t12) → void {
+  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t6 = self::_#Extension|lateExtensionField1 in #t6{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t12;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int
-  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int #t14) → void {
+  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t7 = self::_#Extension|lateExtensionField2 in #t7{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t14;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.outline.expect
index b3cc2e8..808100e 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.outline.expect
@@ -14,15 +14,15 @@
   synthetic constructor •() → self::Class<self::Class::T%>
     ;
   static get lateStaticField1() → core::int;
-  static set lateStaticField1(core::int #t1) → void;
+  static set lateStaticField1(core::int lateStaticField1#param) → void;
   static get lateStaticField2() → core::int;
-  static set lateStaticField2(core::int #t2) → void;
+  static set lateStaticField2(core::int lateStaticField2#param) → void;
   static method staticMethod() → dynamic
     ;
   get lateInstanceField() → core::int;
-  set lateInstanceField(core::int #t3) → void;
+  set lateInstanceField(core::int lateInstanceField#param) → void;
   get lateGenericInstanceField() → self::Class::T%;
-  set lateGenericInstanceField(covariant-by-class self::Class::T% #t4) → void;
+  set lateGenericInstanceField(covariant-by-class self::Class::T% lateGenericInstanceField#param) → void;
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic
     ;
 }
@@ -44,11 +44,11 @@
 static field core::int? _#Extension|lateExtensionField2;
 static field core::bool _#Extension|lateExtensionField2#isSet;
 static get lateTopLevelField() → core::int;
-static set lateTopLevelField(core::int #t5) → void;
+static set lateTopLevelField(core::int lateTopLevelField#param) → void;
 static get Extension|lateExtensionField1() → core::int;
-static set Extension|lateExtensionField1(core::int #t6) → void;
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void;
 static get Extension|lateExtensionField2() → core::int;
-static set Extension|lateExtensionField2(core::int #t7) → void;
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void;
 static method Extension|staticMethod() → dynamic
   ;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect
index 9734ddb..57271db 100644
--- a/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_field_without_initializer.dart.weak.transformed.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int
     return self::Class::_#lateStaticField1#isSet ?{core::int} let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int} : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int #t2) → void {
+  static set lateStaticField1(core::int lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t2;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int
-    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int #t4) → void {
+    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
+  static set lateStaticField2(core::int lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t4;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -33,16 +33,16 @@
     self::expect(42, self::Class::lateStaticField2);
   }
   get lateInstanceField() → core::int
-    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int #t6) → void {
+    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
+  set lateInstanceField(core::int lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t6;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T%
-    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t7 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t7{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T% #t8) → void {
+    return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T%} let final self::Class::T? #t4 = this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} in #t4{self::Class::T%} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
+  set lateGenericInstanceField(covariant-by-class self::Class::T% lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t8;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -71,22 +71,22 @@
 static field core::int? _#Extension|lateExtensionField2 = null;
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int
-  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t9 = self::_#lateTopLevelField in #t9{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int #t10) → void {
+  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t5 = self::_#lateTopLevelField in #t5{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
+static set lateTopLevelField(core::int lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t10;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int
-  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t11 = self::_#Extension|lateExtensionField1 in #t11{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int #t12) → void {
+  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t6 = self::_#Extension|lateExtensionField1 in #t6{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t12;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int
-  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t13 = self::_#Extension|lateExtensionField2 in #t13{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int #t14) → void {
+  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t7 = self::_#Extension|lateExtensionField2 in #t7{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t14;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect
index a18219a..207a31e 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.expect
@@ -12,16 +12,16 @@
     ;
   static get lateStaticField1() → core::int
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
-  static set lateStaticField1(core::int #t2) → void
+  static set lateStaticField1(core::int lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1 == null)
-      self::Class::_#lateStaticField1 = #t2;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     else
       throw new _in::LateError::fieldAI("lateStaticField1");
   static get lateStaticField2() → core::int
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
-  static set lateStaticField2(core::int #t4) → void
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t2{core::int};
+  static set lateStaticField2(core::int lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2 == null)
-      self::Class::_#lateStaticField2 = #t4;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     else
       throw new _in::LateError::fieldAI("lateStaticField2");
   static method staticMethod() → dynamic {
@@ -31,10 +31,10 @@
     self::throws(() → core::int => self::Class::lateStaticField2 = 43, "Write value to initialized Class.lateStaticField2");
   }
   get lateInstanceField() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
-  set lateInstanceField(core::int #t6) → void
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t3{core::int};
+  set lateInstanceField(core::int lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField}{core::int?} == null)
-      this.{self::Class::_#Class#lateInstanceField} = #t6;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     else
       throw new _in::LateError::fieldAI("lateInstanceField");
   method instanceMethod() → dynamic {
@@ -57,24 +57,24 @@
 static field core::int? _#Extension|lateExtensionField1 = null;
 static field core::int? _#Extension|lateExtensionField2 = null;
 static get lateTopLevelField() → core::int
-  return let final core::int? #t7 = self::_#lateTopLevelField in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t7{core::int};
-static set lateTopLevelField(core::int #t8) → void
+  return let final core::int? #t4 = self::_#lateTopLevelField in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t4{core::int};
+static set lateTopLevelField(core::int lateTopLevelField#param) → void
   if(self::_#lateTopLevelField == null)
-    self::_#lateTopLevelField = #t8;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("lateTopLevelField");
 static get Extension|lateExtensionField1() → core::int
-  return let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t9{core::int};
-static set Extension|lateExtensionField1(core::int #t10) → void
+  return let final core::int? #t5 = self::_#Extension|lateExtensionField1 in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t5{core::int};
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1 == null)
-    self::_#Extension|lateExtensionField1 = #t10;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   else
     throw new _in::LateError::fieldAI("lateExtensionField1");
 static get Extension|lateExtensionField2() → core::int
-  return let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t11{core::int};
-static set Extension|lateExtensionField2(core::int #t12) → void
+  return let final core::int? #t6 = self::_#Extension|lateExtensionField2 in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t6{core::int};
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2 == null)
-    self::_#Extension|lateExtensionField2 = #t12;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   else
     throw new _in::LateError::fieldAI("lateExtensionField2");
 static method Extension|staticMethod() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect
index a18219a..207a31e 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.strong.transformed.expect
@@ -12,16 +12,16 @@
     ;
   static get lateStaticField1() → core::int
     return let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField1") : #t1{core::int};
-  static set lateStaticField1(core::int #t2) → void
+  static set lateStaticField1(core::int lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1 == null)
-      self::Class::_#lateStaticField1 = #t2;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     else
       throw new _in::LateError::fieldAI("lateStaticField1");
   static get lateStaticField2() → core::int
-    return let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t3{core::int};
-  static set lateStaticField2(core::int #t4) → void
+    return let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("lateStaticField2") : #t2{core::int};
+  static set lateStaticField2(core::int lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2 == null)
-      self::Class::_#lateStaticField2 = #t4;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     else
       throw new _in::LateError::fieldAI("lateStaticField2");
   static method staticMethod() → dynamic {
@@ -31,10 +31,10 @@
     self::throws(() → core::int => self::Class::lateStaticField2 = 43, "Write value to initialized Class.lateStaticField2");
   }
   get lateInstanceField() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t5{core::int};
-  set lateInstanceField(core::int #t6) → void
+    return let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("lateInstanceField") : #t3{core::int};
+  set lateInstanceField(core::int lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField}{core::int?} == null)
-      this.{self::Class::_#Class#lateInstanceField} = #t6;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     else
       throw new _in::LateError::fieldAI("lateInstanceField");
   method instanceMethod() → dynamic {
@@ -57,24 +57,24 @@
 static field core::int? _#Extension|lateExtensionField1 = null;
 static field core::int? _#Extension|lateExtensionField2 = null;
 static get lateTopLevelField() → core::int
-  return let final core::int? #t7 = self::_#lateTopLevelField in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t7{core::int};
-static set lateTopLevelField(core::int #t8) → void
+  return let final core::int? #t4 = self::_#lateTopLevelField in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("lateTopLevelField") : #t4{core::int};
+static set lateTopLevelField(core::int lateTopLevelField#param) → void
   if(self::_#lateTopLevelField == null)
-    self::_#lateTopLevelField = #t8;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("lateTopLevelField");
 static get Extension|lateExtensionField1() → core::int
-  return let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t9{core::int};
-static set Extension|lateExtensionField1(core::int #t10) → void
+  return let final core::int? #t5 = self::_#Extension|lateExtensionField1 in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField1") : #t5{core::int};
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1 == null)
-    self::_#Extension|lateExtensionField1 = #t10;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   else
     throw new _in::LateError::fieldAI("lateExtensionField1");
 static get Extension|lateExtensionField2() → core::int
-  return let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t11{core::int};
-static set Extension|lateExtensionField2(core::int #t12) → void
+  return let final core::int? #t6 = self::_#Extension|lateExtensionField2 in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("lateExtensionField2") : #t6{core::int};
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2 == null)
-    self::_#Extension|lateExtensionField2 = #t12;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   else
     throw new _in::LateError::fieldAI("lateExtensionField2");
 static method Extension|staticMethod() → dynamic {
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect
index f0429db..ab8252e 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.expect
@@ -15,21 +15,21 @@
     ;
   static get lateStaticField1() → core::int
     return self::Class::_#lateStaticField1#isSet ?{core::int} let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int} : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int #t2) → void
+  static set lateStaticField1(core::int lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t2;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int
-    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int #t4) → void
+    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
+  static set lateStaticField2(core::int lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t4;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -38,13 +38,13 @@
     self::throws(() → core::int => self::Class::lateStaticField2 = 43, "Write value to initialized Class.lateStaticField2");
   }
   get lateInstanceField() → core::int
-    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int #t6) → void
+    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
+  set lateInstanceField(core::int lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t6;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   method instanceMethod() → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -71,31 +71,31 @@
 static field core::int? _#Extension|lateExtensionField2 = null;
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int
-  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t7 = self::_#lateTopLevelField in #t7{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int #t8) → void
+  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t4 = self::_#lateTopLevelField in #t4{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
+static set lateTopLevelField(core::int lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t8;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int
-  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int #t10) → void
+  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t5 = self::_#Extension|lateExtensionField1 in #t5{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t10;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int
-  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int #t12) → void
+  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t6 = self::_#Extension|lateExtensionField2 in #t6{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t12;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.modular.expect
index f0429db..ab8252e 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.modular.expect
@@ -15,21 +15,21 @@
     ;
   static get lateStaticField1() → core::int
     return self::Class::_#lateStaticField1#isSet ?{core::int} let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int} : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int #t2) → void
+  static set lateStaticField1(core::int lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t2;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int
-    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int #t4) → void
+    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
+  static set lateStaticField2(core::int lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t4;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -38,13 +38,13 @@
     self::throws(() → core::int => self::Class::lateStaticField2 = 43, "Write value to initialized Class.lateStaticField2");
   }
   get lateInstanceField() → core::int
-    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int #t6) → void
+    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
+  set lateInstanceField(core::int lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t6;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   method instanceMethod() → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -71,31 +71,31 @@
 static field core::int? _#Extension|lateExtensionField2 = null;
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int
-  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t7 = self::_#lateTopLevelField in #t7{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int #t8) → void
+  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t4 = self::_#lateTopLevelField in #t4{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
+static set lateTopLevelField(core::int lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t8;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int
-  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int #t10) → void
+  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t5 = self::_#Extension|lateExtensionField1 in #t5{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t10;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int
-  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int #t12) → void
+  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t6 = self::_#Extension|lateExtensionField2 in #t6{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t12;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.outline.expect
index bb9e392..3081907 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.outline.expect
@@ -12,13 +12,13 @@
   synthetic constructor •() → self::Class
     ;
   static get lateStaticField1() → core::int;
-  static set lateStaticField1(core::int #t1) → void;
+  static set lateStaticField1(core::int lateStaticField1#param) → void;
   static get lateStaticField2() → core::int;
-  static set lateStaticField2(core::int #t2) → void;
+  static set lateStaticField2(core::int lateStaticField2#param) → void;
   static method staticMethod() → dynamic
     ;
   get lateInstanceField() → core::int;
-  set lateInstanceField(core::int #t3) → void;
+  set lateInstanceField(core::int lateInstanceField#param) → void;
   method instanceMethod() → dynamic
     ;
 }
@@ -40,11 +40,11 @@
 static field core::int? _#Extension|lateExtensionField2;
 static field core::bool _#Extension|lateExtensionField2#isSet;
 static get lateTopLevelField() → core::int;
-static set lateTopLevelField(core::int #t4) → void;
+static set lateTopLevelField(core::int lateTopLevelField#param) → void;
 static get Extension|lateExtensionField1() → core::int;
-static set Extension|lateExtensionField1(core::int #t5) → void;
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void;
 static get Extension|lateExtensionField2() → core::int;
-static set Extension|lateExtensionField2(core::int #t6) → void;
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void;
 static method Extension|staticMethod() → dynamic
   ;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect
index f0429db..ab8252e 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_field_without_initializer.dart.weak.transformed.expect
@@ -15,21 +15,21 @@
     ;
   static get lateStaticField1() → core::int
     return self::Class::_#lateStaticField1#isSet ?{core::int} let final core::int? #t1 = self::Class::_#lateStaticField1 in #t1{core::int} : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int #t2) → void
+  static set lateStaticField1(core::int lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t2;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int
-    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t3 = self::Class::_#lateStaticField2 in #t3{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int #t4) → void
+    return self::Class::_#lateStaticField2#isSet ?{core::int} let final core::int? #t2 = self::Class::_#lateStaticField2 in #t2{core::int} : throw new _in::LateError::fieldNI("lateStaticField2");
+  static set lateStaticField2(core::int lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t4;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -38,13 +38,13 @@
     self::throws(() → core::int => self::Class::lateStaticField2 = 43, "Write value to initialized Class.lateStaticField2");
   }
   get lateInstanceField() → core::int
-    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int #t6) → void
+    return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#lateInstanceField}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("lateInstanceField");
+  set lateInstanceField(core::int lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t6;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   method instanceMethod() → dynamic {
     self::throws(() → core::int => this.{self::Class::lateInstanceField}{core::int}, "Read value from uninitialized Class.lateInstanceField");
@@ -71,31 +71,31 @@
 static field core::int? _#Extension|lateExtensionField2 = null;
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int
-  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t7 = self::_#lateTopLevelField in #t7{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int #t8) → void
+  return self::_#lateTopLevelField#isSet ?{core::int} let final core::int? #t4 = self::_#lateTopLevelField in #t4{core::int} : throw new _in::LateError::fieldNI("lateTopLevelField");
+static set lateTopLevelField(core::int lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t8;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int
-  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t9 = self::_#Extension|lateExtensionField1 in #t9{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int #t10) → void
+  return self::_#Extension|lateExtensionField1#isSet ?{core::int} let final core::int? #t5 = self::_#Extension|lateExtensionField1 in #t5{core::int} : throw new _in::LateError::fieldNI("lateExtensionField1");
+static set Extension|lateExtensionField1(core::int Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t10;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int
-  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t11 = self::_#Extension|lateExtensionField2 in #t11{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int #t12) → void
+  return self::_#Extension|lateExtensionField2#isSet ?{core::int} let final core::int? #t6 = self::_#Extension|lateExtensionField2 in #t6{core::int} : throw new _in::LateError::fieldNI("lateExtensionField2");
+static set Extension|lateExtensionField2(core::int Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t12;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect
index fd2829a..e0a2558 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.expect
@@ -8,9 +8,9 @@
   lowered final core::int? #lateLocal;
   function #lateLocal#get() → core::int
     return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
-  function #lateLocal#set(core::int #t2) → dynamic
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
     if(#lateLocal == null)
-      return #lateLocal = #t2;
+      return #lateLocal = lateLocal#param;
     else
       throw new _in::LateError::localAI("lateLocal");
   if(b) {
@@ -27,12 +27,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t3) → dynamic
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t3;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     if(b) {
       #lateGenericLocal#set(value){(T%) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect
index fd2829a..e0a2558 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.strong.transformed.expect
@@ -8,9 +8,9 @@
   lowered final core::int? #lateLocal;
   function #lateLocal#get() → core::int
     return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
-  function #lateLocal#set(core::int #t2) → dynamic
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
     if(#lateLocal == null)
-      return #lateLocal = #t2;
+      return #lateLocal = lateLocal#param;
     else
       throw new _in::LateError::localAI("lateLocal");
   if(b) {
@@ -27,12 +27,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t3) → dynamic
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t3;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     if(b) {
       #lateGenericLocal#set(value){(T%) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect
index 6050d9e..f62610a 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.expect
@@ -9,12 +9,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int
     return #lateLocal#isSet ?{core::int} #lateLocal{core::int} : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int #t1) → dynamic
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   if(b) {
     #lateLocal#set(123){(core::int) → dynamic};
@@ -30,12 +30,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t2) → dynamic
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     if(b) {
       #lateGenericLocal#set(value){(T%) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.modular.expect
index 6050d9e..f62610a 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.modular.expect
@@ -9,12 +9,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int
     return #lateLocal#isSet ?{core::int} #lateLocal{core::int} : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int #t1) → dynamic
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   if(b) {
     #lateLocal#set(123){(core::int) → dynamic};
@@ -30,12 +30,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t2) → dynamic
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     if(b) {
       #lateGenericLocal#set(value){(T%) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect
index 6050d9e..f62610a 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_local_without_initializer.dart.weak.transformed.expect
@@ -9,12 +9,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int
     return #lateLocal#isSet ?{core::int} #lateLocal{core::int} : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int #t1) → dynamic
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   if(b) {
     #lateLocal#set(123){(core::int) → dynamic};
@@ -30,12 +30,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t2) → dynamic
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     if(b) {
       #lateGenericLocal#set(value){(T%) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect
index ce6ed76..fb2d8d3 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.expect
@@ -17,21 +17,21 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void
+  static set lateStaticField1(core::int? lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t1;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void
+  static set lateStaticField2(core::int? lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t2;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -41,21 +41,21 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void
+  set lateInstanceField(core::int? lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t3;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(self::Class::T? #t4) → void
+  set lateGenericInstanceField(self::Class::T? lateGenericInstanceField#param) → void
     if(this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateGenericInstanceField");
     else {
       this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+      this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
     }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -87,30 +87,30 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t5;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t6;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t7;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect
index ce6ed76..fb2d8d3 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.strong.transformed.expect
@@ -17,21 +17,21 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void
+  static set lateStaticField1(core::int? lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t1;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void
+  static set lateStaticField2(core::int? lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t2;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -41,21 +41,21 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void
+  set lateInstanceField(core::int? lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t3;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(self::Class::T? #t4) → void
+  set lateGenericInstanceField(self::Class::T? lateGenericInstanceField#param) → void
     if(this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateGenericInstanceField");
     else {
       this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+      this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
     }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -87,30 +87,30 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t5;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t6;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t7;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect
index ce6ed76..fb2d8d3 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.expect
@@ -17,21 +17,21 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void
+  static set lateStaticField1(core::int? lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t1;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void
+  static set lateStaticField2(core::int? lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t2;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -41,21 +41,21 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void
+  set lateInstanceField(core::int? lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t3;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(self::Class::T? #t4) → void
+  set lateGenericInstanceField(self::Class::T? lateGenericInstanceField#param) → void
     if(this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateGenericInstanceField");
     else {
       this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+      this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
     }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -87,30 +87,30 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t5;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t6;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t7;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.modular.expect
index ce6ed76..fb2d8d3 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.modular.expect
@@ -17,21 +17,21 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void
+  static set lateStaticField1(core::int? lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t1;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void
+  static set lateStaticField2(core::int? lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t2;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -41,21 +41,21 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void
+  set lateInstanceField(core::int? lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t3;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(self::Class::T? #t4) → void
+  set lateGenericInstanceField(self::Class::T? lateGenericInstanceField#param) → void
     if(this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateGenericInstanceField");
     else {
       this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+      this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
     }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -87,30 +87,30 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t5;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t6;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t7;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.outline.expect
index 86a7e1c..96a8d71 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.outline.expect
@@ -14,15 +14,15 @@
   synthetic constructor •() → self::Class<self::Class::T%>
     ;
   static get lateStaticField1() → core::int?;
-  static set lateStaticField1(core::int? #t1) → void;
+  static set lateStaticField1(core::int? lateStaticField1#param) → void;
   static get lateStaticField2() → core::int?;
-  static set lateStaticField2(core::int? #t2) → void;
+  static set lateStaticField2(core::int? lateStaticField2#param) → void;
   static method staticMethod() → dynamic
     ;
   get lateInstanceField() → core::int?;
-  set lateInstanceField(core::int? #t3) → void;
+  set lateInstanceField(core::int? lateInstanceField#param) → void;
   get lateGenericInstanceField() → self::Class::T?;
-  set lateGenericInstanceField(self::Class::T? #t4) → void;
+  set lateGenericInstanceField(self::Class::T? lateGenericInstanceField#param) → void;
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic
     ;
 }
@@ -44,11 +44,11 @@
 static field core::int? _#Extension|lateExtensionField2;
 static field core::bool _#Extension|lateExtensionField2#isSet;
 static get lateTopLevelField() → core::int?;
-static set lateTopLevelField(core::int? #t5) → void;
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void;
 static get Extension|lateExtensionField1() → core::int?;
-static set Extension|lateExtensionField1(core::int? #t6) → void;
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void;
 static get Extension|lateExtensionField2() → core::int?;
-static set Extension|lateExtensionField2(core::int? #t7) → void;
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void;
 static method Extension|staticMethod() → dynamic
   ;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect
index ce6ed76..fb2d8d3 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_field_without_initializer.dart.weak.transformed.expect
@@ -17,21 +17,21 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void
+  static set lateStaticField1(core::int? lateStaticField1#param) → void
     if(self::Class::_#lateStaticField1#isSet)
       throw new _in::LateError::fieldAI("lateStaticField1");
     else {
       self::Class::_#lateStaticField1#isSet = true;
-      self::Class::_#lateStaticField1 = #t1;
+      self::Class::_#lateStaticField1 = lateStaticField1#param;
     }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void
+  static set lateStaticField2(core::int? lateStaticField2#param) → void
     if(self::Class::_#lateStaticField2#isSet)
       throw new _in::LateError::fieldAI("lateStaticField2");
     else {
       self::Class::_#lateStaticField2#isSet = true;
-      self::Class::_#lateStaticField2 = #t2;
+      self::Class::_#lateStaticField2 = lateStaticField2#param;
     }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -41,21 +41,21 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void
+  set lateInstanceField(core::int? lateInstanceField#param) → void
     if(this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateInstanceField");
     else {
       this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateInstanceField} = #t3;
+      this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
     }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(self::Class::T? #t4) → void
+  set lateGenericInstanceField(self::Class::T? lateGenericInstanceField#param) → void
     if(this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("lateGenericInstanceField");
     else {
       this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-      this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+      this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
     }
   method instanceMethod(covariant-by-class self::Class::T% value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -87,30 +87,30 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void
   if(self::_#lateTopLevelField#isSet)
     throw new _in::LateError::fieldAI("lateTopLevelField");
   else {
     self::_#lateTopLevelField#isSet = true;
-    self::_#lateTopLevelField = #t5;
+    self::_#lateTopLevelField = lateTopLevelField#param;
   }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void
   if(self::_#Extension|lateExtensionField1#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField1");
   else {
     self::_#Extension|lateExtensionField1#isSet = true;
-    self::_#Extension|lateExtensionField1 = #t6;
+    self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
   }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void
   if(self::_#Extension|lateExtensionField2#isSet)
     throw new _in::LateError::fieldAI("lateExtensionField2");
   else {
     self::_#Extension|lateExtensionField2#isSet = true;
-    self::_#Extension|lateExtensionField2 = #t7;
+    self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
   }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect
index 751ada1..e9350bc 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.expect
@@ -8,12 +8,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
@@ -26,12 +26,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect
index 0a5fece..b757dd2 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.strong.transformed.expect
@@ -8,12 +8,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
@@ -26,12 +26,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect
index 751ada1..e9350bc 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.expect
@@ -8,12 +8,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
@@ -26,12 +26,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.modular.expect
index 751ada1..e9350bc 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.modular.expect
@@ -8,12 +8,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
@@ -26,12 +26,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
diff --git a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect
index 0a5fece..b757dd2 100644
--- a/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_final_nullable_local_without_initializer.dart.weak.transformed.expect
@@ -8,12 +8,12 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic
     if(#lateLocal#isSet)
       throw new _in::LateError::localAI("lateLocal");
     else {
       #lateLocal#isSet = true;
-      return #lateLocal = #t1;
+      return #lateLocal = lateLocal#param;
     }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
@@ -26,12 +26,12 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic
       if(#lateGenericLocal#isSet)
         throw new _in::LateError::localAI("lateGenericLocal");
       else {
         #lateGenericLocal#isSet = true;
-        return #lateGenericLocal = #t2;
+        return #lateGenericLocal = lateGenericLocal#param;
       }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     if(1 =={core::num::==}{(core::Object) → core::bool} 1) {
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect
index c7f8179..499cda4 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.expect
@@ -21,74 +21,74 @@
     ;
   get field1() → FutureOr<dynamic>
     return this.{self::C::_#C#field1#isSet}{core::bool} ?{FutureOr<dynamic>} this.{self::C::_#C#field1}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field1");
-  set field1(FutureOr<dynamic>#t1) → void {
+  set field1(FutureOr<dynamic>field1#param) → void {
     this.{self::C::_#C#field1#isSet} = true;
-    this.{self::C::_#C#field1} = #t1;
+    this.{self::C::_#C#field1} = field1#param;
   }
   get field2() → FutureOr<dynamic>?
     return this.{self::C::_#C#field2#isSet}{core::bool} ?{FutureOr<dynamic>?} this.{self::C::_#C#field2}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field2");
-  set field2(FutureOr<dynamic>? #t2) → void {
+  set field2(FutureOr<dynamic>? field2#param) → void {
     this.{self::C::_#C#field2#isSet} = true;
-    this.{self::C::_#C#field2} = #t2;
+    this.{self::C::_#C#field2} = field2#param;
   }
   get field3() → FutureOr<self::C::T%>
-    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t3 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t3{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
-  set field3(covariant-by-class FutureOr<self::C::T%>#t4) → void {
+    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t1 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t1{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
+  set field3(covariant-by-class FutureOr<self::C::T%>field3#param) → void {
     this.{self::C::_#C#field3#isSet} = true;
-    this.{self::C::_#C#field3} = #t4;
+    this.{self::C::_#C#field3} = field3#param;
   }
   get field4() → FutureOr<self::C::T?>
     return this.{self::C::_#C#field4#isSet}{core::bool} ?{FutureOr<self::C::T?>} this.{self::C::_#C#field4}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field4");
-  set field4(covariant-by-class FutureOr<self::C::T?>#t5) → void {
+  set field4(covariant-by-class FutureOr<self::C::T?>field4#param) → void {
     this.{self::C::_#C#field4#isSet} = true;
-    this.{self::C::_#C#field4} = #t5;
+    this.{self::C::_#C#field4} = field4#param;
   }
   get field5() → FutureOr<self::C::T?>?
     return this.{self::C::_#C#field5#isSet}{core::bool} ?{FutureOr<self::C::T?>?} this.{self::C::_#C#field5}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field5");
-  set field5(covariant-by-class FutureOr<self::C::T?>? #t6) → void {
+  set field5(covariant-by-class FutureOr<self::C::T?>? field5#param) → void {
     this.{self::C::_#C#field5#isSet} = true;
-    this.{self::C::_#C#field5} = #t6;
+    this.{self::C::_#C#field5} = field5#param;
   }
   method method() → dynamic {
     lowered FutureOr<dynamic>? #local1;
     lowered core::bool #local1#isSet = false;
     function #local1#get() → FutureOr<dynamic>
       return #local1#isSet ?{FutureOr<dynamic>} #local1 : throw new _in::LateError::localNI("local1");
-    function #local1#set(FutureOr<dynamic>#t7) → dynamic {
+    function #local1#set(FutureOr<dynamic>local1#param) → dynamic {
       #local1#isSet = true;
-      return #local1 = #t7;
+      return #local1 = local1#param;
     }
     lowered FutureOr<dynamic>? #local2;
     lowered core::bool #local2#isSet = false;
     function #local2#get() → FutureOr<dynamic>?
       return #local2#isSet ?{FutureOr<dynamic>?} #local2 : throw new _in::LateError::localNI("local2");
-    function #local2#set(FutureOr<dynamic>? #t8) → dynamic {
+    function #local2#set(FutureOr<dynamic>? local2#param) → dynamic {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
     lowered FutureOr<self::C::T%>? #local3;
     lowered core::bool #local3#isSet = false;
     function #local3#get() → FutureOr<self::C::T%>
       return #local3#isSet ?{FutureOr<self::C::T%>} #local3{FutureOr<self::C::T%>} : throw new _in::LateError::localNI("local3");
-    function #local3#set(FutureOr<self::C::T%>#t9) → dynamic {
+    function #local3#set(FutureOr<self::C::T%>local3#param) → dynamic {
       #local3#isSet = true;
-      return #local3 = #t9;
+      return #local3 = local3#param;
     }
     lowered FutureOr<self::C::T?>? #local4;
     lowered core::bool #local4#isSet = false;
     function #local4#get() → FutureOr<self::C::T?>
       return #local4#isSet ?{FutureOr<self::C::T?>} #local4 : throw new _in::LateError::localNI("local4");
-    function #local4#set(FutureOr<self::C::T?>#t10) → dynamic {
+    function #local4#set(FutureOr<self::C::T?>local4#param) → dynamic {
       #local4#isSet = true;
-      return #local4 = #t10;
+      return #local4 = local4#param;
     }
     lowered FutureOr<self::C::T?>? #local5;
     lowered core::bool #local5#isSet = false;
     function #local5#get() → FutureOr<self::C::T?>?
       return #local5#isSet ?{FutureOr<self::C::T?>?} #local5 : throw new _in::LateError::localNI("local5");
-    function #local5#set(FutureOr<self::C::T?>? #t11) → dynamic {
+    function #local5#set(FutureOr<self::C::T?>? local5#param) → dynamic {
       #local5#isSet = true;
-      return #local5 = #t11;
+      return #local5 = local5#param;
     }
   }
 }
@@ -123,9 +123,9 @@
   }
   return self::_#field1;
 }
-static set field1(FutureOr<dynamic>#t12) → void {
+static set field1(FutureOr<dynamic>field1#param) → void {
   self::_#field1#isSet = true;
-  self::_#field1 = #t12;
+  self::_#field1 = field1#param;
 }
 static get field2() → FutureOr<dynamic>? {
   if(!self::_#field2#isSet) {
@@ -134,9 +134,9 @@
   }
   return self::_#field2;
 }
-static set field2(FutureOr<dynamic>? #t13) → void {
+static set field2(FutureOr<dynamic>? field2#param) → void {
   self::_#field2#isSet = true;
-  self::_#field2 = #t13;
+  self::_#field2 = field2#param;
 }
 static get field3() → FutureOr<dynamic> {
   if(!self::_#field3#isSet) {
@@ -145,14 +145,14 @@
   }
   return self::_#field3;
 }
-static set field3(FutureOr<dynamic>#t14) → void {
+static set field3(FutureOr<dynamic>field3#param) → void {
   self::_#field3#isSet = true;
-  self::_#field3 = #t14;
+  self::_#field3 = field3#param;
 }
 static get field4() → FutureOr<core::int>
-  return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15 == null ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t15{FutureOr<core::int>};
-static set field4(FutureOr<core::int>#t16) → void
-  self::_#field4 = #t16;
+  return let final FutureOr<core::int>? #t2 = self::_#field4 in #t2 == null ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t2{FutureOr<core::int>};
+static set field4(FutureOr<core::int>field4#param) → void
+  self::_#field4 = field4#param;
 static get field5() → FutureOr<core::int?> {
   if(!self::_#field5#isSet) {
     self::_#field5 = self::method5();
@@ -160,9 +160,9 @@
   }
   return self::_#field5;
 }
-static set field5(FutureOr<core::int?>#t17) → void {
+static set field5(FutureOr<core::int?>field5#param) → void {
   self::_#field5#isSet = true;
-  self::_#field5 = #t17;
+  self::_#field5 = field5#param;
 }
 static get field6() → FutureOr<core::int?>? {
   if(!self::_#field6#isSet) {
@@ -171,8 +171,8 @@
   }
   return self::_#field6;
 }
-static set field6(FutureOr<core::int?>? #t18) → void {
+static set field6(FutureOr<core::int?>? field6#param) → void {
   self::_#field6#isSet = true;
-  self::_#field6 = #t18;
+  self::_#field6 = field6#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect
index c7f8179..499cda4 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.strong.transformed.expect
@@ -21,74 +21,74 @@
     ;
   get field1() → FutureOr<dynamic>
     return this.{self::C::_#C#field1#isSet}{core::bool} ?{FutureOr<dynamic>} this.{self::C::_#C#field1}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field1");
-  set field1(FutureOr<dynamic>#t1) → void {
+  set field1(FutureOr<dynamic>field1#param) → void {
     this.{self::C::_#C#field1#isSet} = true;
-    this.{self::C::_#C#field1} = #t1;
+    this.{self::C::_#C#field1} = field1#param;
   }
   get field2() → FutureOr<dynamic>?
     return this.{self::C::_#C#field2#isSet}{core::bool} ?{FutureOr<dynamic>?} this.{self::C::_#C#field2}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field2");
-  set field2(FutureOr<dynamic>? #t2) → void {
+  set field2(FutureOr<dynamic>? field2#param) → void {
     this.{self::C::_#C#field2#isSet} = true;
-    this.{self::C::_#C#field2} = #t2;
+    this.{self::C::_#C#field2} = field2#param;
   }
   get field3() → FutureOr<self::C::T%>
-    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t3 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t3{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
-  set field3(covariant-by-class FutureOr<self::C::T%>#t4) → void {
+    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t1 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t1{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
+  set field3(covariant-by-class FutureOr<self::C::T%>field3#param) → void {
     this.{self::C::_#C#field3#isSet} = true;
-    this.{self::C::_#C#field3} = #t4;
+    this.{self::C::_#C#field3} = field3#param;
   }
   get field4() → FutureOr<self::C::T?>
     return this.{self::C::_#C#field4#isSet}{core::bool} ?{FutureOr<self::C::T?>} this.{self::C::_#C#field4}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field4");
-  set field4(covariant-by-class FutureOr<self::C::T?>#t5) → void {
+  set field4(covariant-by-class FutureOr<self::C::T?>field4#param) → void {
     this.{self::C::_#C#field4#isSet} = true;
-    this.{self::C::_#C#field4} = #t5;
+    this.{self::C::_#C#field4} = field4#param;
   }
   get field5() → FutureOr<self::C::T?>?
     return this.{self::C::_#C#field5#isSet}{core::bool} ?{FutureOr<self::C::T?>?} this.{self::C::_#C#field5}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field5");
-  set field5(covariant-by-class FutureOr<self::C::T?>? #t6) → void {
+  set field5(covariant-by-class FutureOr<self::C::T?>? field5#param) → void {
     this.{self::C::_#C#field5#isSet} = true;
-    this.{self::C::_#C#field5} = #t6;
+    this.{self::C::_#C#field5} = field5#param;
   }
   method method() → dynamic {
     lowered FutureOr<dynamic>? #local1;
     lowered core::bool #local1#isSet = false;
     function #local1#get() → FutureOr<dynamic>
       return #local1#isSet ?{FutureOr<dynamic>} #local1 : throw new _in::LateError::localNI("local1");
-    function #local1#set(FutureOr<dynamic>#t7) → dynamic {
+    function #local1#set(FutureOr<dynamic>local1#param) → dynamic {
       #local1#isSet = true;
-      return #local1 = #t7;
+      return #local1 = local1#param;
     }
     lowered FutureOr<dynamic>? #local2;
     lowered core::bool #local2#isSet = false;
     function #local2#get() → FutureOr<dynamic>?
       return #local2#isSet ?{FutureOr<dynamic>?} #local2 : throw new _in::LateError::localNI("local2");
-    function #local2#set(FutureOr<dynamic>? #t8) → dynamic {
+    function #local2#set(FutureOr<dynamic>? local2#param) → dynamic {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
     lowered FutureOr<self::C::T%>? #local3;
     lowered core::bool #local3#isSet = false;
     function #local3#get() → FutureOr<self::C::T%>
       return #local3#isSet ?{FutureOr<self::C::T%>} #local3{FutureOr<self::C::T%>} : throw new _in::LateError::localNI("local3");
-    function #local3#set(FutureOr<self::C::T%>#t9) → dynamic {
+    function #local3#set(FutureOr<self::C::T%>local3#param) → dynamic {
       #local3#isSet = true;
-      return #local3 = #t9;
+      return #local3 = local3#param;
     }
     lowered FutureOr<self::C::T?>? #local4;
     lowered core::bool #local4#isSet = false;
     function #local4#get() → FutureOr<self::C::T?>
       return #local4#isSet ?{FutureOr<self::C::T?>} #local4 : throw new _in::LateError::localNI("local4");
-    function #local4#set(FutureOr<self::C::T?>#t10) → dynamic {
+    function #local4#set(FutureOr<self::C::T?>local4#param) → dynamic {
       #local4#isSet = true;
-      return #local4 = #t10;
+      return #local4 = local4#param;
     }
     lowered FutureOr<self::C::T?>? #local5;
     lowered core::bool #local5#isSet = false;
     function #local5#get() → FutureOr<self::C::T?>?
       return #local5#isSet ?{FutureOr<self::C::T?>?} #local5 : throw new _in::LateError::localNI("local5");
-    function #local5#set(FutureOr<self::C::T?>? #t11) → dynamic {
+    function #local5#set(FutureOr<self::C::T?>? local5#param) → dynamic {
       #local5#isSet = true;
-      return #local5 = #t11;
+      return #local5 = local5#param;
     }
   }
 }
@@ -123,9 +123,9 @@
   }
   return self::_#field1;
 }
-static set field1(FutureOr<dynamic>#t12) → void {
+static set field1(FutureOr<dynamic>field1#param) → void {
   self::_#field1#isSet = true;
-  self::_#field1 = #t12;
+  self::_#field1 = field1#param;
 }
 static get field2() → FutureOr<dynamic>? {
   if(!self::_#field2#isSet) {
@@ -134,9 +134,9 @@
   }
   return self::_#field2;
 }
-static set field2(FutureOr<dynamic>? #t13) → void {
+static set field2(FutureOr<dynamic>? field2#param) → void {
   self::_#field2#isSet = true;
-  self::_#field2 = #t13;
+  self::_#field2 = field2#param;
 }
 static get field3() → FutureOr<dynamic> {
   if(!self::_#field3#isSet) {
@@ -145,14 +145,14 @@
   }
   return self::_#field3;
 }
-static set field3(FutureOr<dynamic>#t14) → void {
+static set field3(FutureOr<dynamic>field3#param) → void {
   self::_#field3#isSet = true;
-  self::_#field3 = #t14;
+  self::_#field3 = field3#param;
 }
 static get field4() → FutureOr<core::int>
-  return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15 == null ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t15{FutureOr<core::int>};
-static set field4(FutureOr<core::int>#t16) → void
-  self::_#field4 = #t16;
+  return let final FutureOr<core::int>? #t2 = self::_#field4 in #t2 == null ?{FutureOr<core::int>} self::_#field4 = self::method4() : #t2{FutureOr<core::int>};
+static set field4(FutureOr<core::int>field4#param) → void
+  self::_#field4 = field4#param;
 static get field5() → FutureOr<core::int?> {
   if(!self::_#field5#isSet) {
     self::_#field5 = self::method5();
@@ -160,9 +160,9 @@
   }
   return self::_#field5;
 }
-static set field5(FutureOr<core::int?>#t17) → void {
+static set field5(FutureOr<core::int?>field5#param) → void {
   self::_#field5#isSet = true;
-  self::_#field5 = #t17;
+  self::_#field5 = field5#param;
 }
 static get field6() → FutureOr<core::int?>? {
   if(!self::_#field6#isSet) {
@@ -171,8 +171,8 @@
   }
   return self::_#field6;
 }
-static set field6(FutureOr<core::int?>? #t18) → void {
+static set field6(FutureOr<core::int?>? field6#param) → void {
   self::_#field6#isSet = true;
-  self::_#field6 = #t18;
+  self::_#field6 = field6#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.expect
index b358ead..24faada 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.expect
@@ -21,74 +21,74 @@
     ;
   get field1() → FutureOr<dynamic>
     return this.{self::C::_#C#field1#isSet}{core::bool} ?{FutureOr<dynamic>} this.{self::C::_#C#field1}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field1");
-  set field1(FutureOr<dynamic>#t1) → void {
+  set field1(FutureOr<dynamic>field1#param) → void {
     this.{self::C::_#C#field1#isSet} = true;
-    this.{self::C::_#C#field1} = #t1;
+    this.{self::C::_#C#field1} = field1#param;
   }
   get field2() → FutureOr<dynamic>?
     return this.{self::C::_#C#field2#isSet}{core::bool} ?{FutureOr<dynamic>?} this.{self::C::_#C#field2}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field2");
-  set field2(FutureOr<dynamic>? #t2) → void {
+  set field2(FutureOr<dynamic>? field2#param) → void {
     this.{self::C::_#C#field2#isSet} = true;
-    this.{self::C::_#C#field2} = #t2;
+    this.{self::C::_#C#field2} = field2#param;
   }
   get field3() → FutureOr<self::C::T%>
-    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t3 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t3{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
-  set field3(covariant-by-class FutureOr<self::C::T%>#t4) → void {
+    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t1 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t1{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
+  set field3(covariant-by-class FutureOr<self::C::T%>field3#param) → void {
     this.{self::C::_#C#field3#isSet} = true;
-    this.{self::C::_#C#field3} = #t4;
+    this.{self::C::_#C#field3} = field3#param;
   }
   get field4() → FutureOr<self::C::T?>
     return this.{self::C::_#C#field4#isSet}{core::bool} ?{FutureOr<self::C::T?>} this.{self::C::_#C#field4}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field4");
-  set field4(covariant-by-class FutureOr<self::C::T?>#t5) → void {
+  set field4(covariant-by-class FutureOr<self::C::T?>field4#param) → void {
     this.{self::C::_#C#field4#isSet} = true;
-    this.{self::C::_#C#field4} = #t5;
+    this.{self::C::_#C#field4} = field4#param;
   }
   get field5() → FutureOr<self::C::T?>?
     return this.{self::C::_#C#field5#isSet}{core::bool} ?{FutureOr<self::C::T?>?} this.{self::C::_#C#field5}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field5");
-  set field5(covariant-by-class FutureOr<self::C::T?>? #t6) → void {
+  set field5(covariant-by-class FutureOr<self::C::T?>? field5#param) → void {
     this.{self::C::_#C#field5#isSet} = true;
-    this.{self::C::_#C#field5} = #t6;
+    this.{self::C::_#C#field5} = field5#param;
   }
   method method() → dynamic {
     lowered FutureOr<dynamic>? #local1;
     lowered core::bool #local1#isSet = false;
     function #local1#get() → FutureOr<dynamic>
       return #local1#isSet ?{FutureOr<dynamic>} #local1 : throw new _in::LateError::localNI("local1");
-    function #local1#set(FutureOr<dynamic>#t7) → dynamic {
+    function #local1#set(FutureOr<dynamic>local1#param) → dynamic {
       #local1#isSet = true;
-      return #local1 = #t7;
+      return #local1 = local1#param;
     }
     lowered FutureOr<dynamic>? #local2;
     lowered core::bool #local2#isSet = false;
     function #local2#get() → FutureOr<dynamic>?
       return #local2#isSet ?{FutureOr<dynamic>?} #local2 : throw new _in::LateError::localNI("local2");
-    function #local2#set(FutureOr<dynamic>? #t8) → dynamic {
+    function #local2#set(FutureOr<dynamic>? local2#param) → dynamic {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
     lowered FutureOr<self::C::T%>? #local3;
     lowered core::bool #local3#isSet = false;
     function #local3#get() → FutureOr<self::C::T%>
       return #local3#isSet ?{FutureOr<self::C::T%>} #local3{FutureOr<self::C::T%>} : throw new _in::LateError::localNI("local3");
-    function #local3#set(FutureOr<self::C::T%>#t9) → dynamic {
+    function #local3#set(FutureOr<self::C::T%>local3#param) → dynamic {
       #local3#isSet = true;
-      return #local3 = #t9;
+      return #local3 = local3#param;
     }
     lowered FutureOr<self::C::T?>? #local4;
     lowered core::bool #local4#isSet = false;
     function #local4#get() → FutureOr<self::C::T?>
       return #local4#isSet ?{FutureOr<self::C::T?>} #local4 : throw new _in::LateError::localNI("local4");
-    function #local4#set(FutureOr<self::C::T?>#t10) → dynamic {
+    function #local4#set(FutureOr<self::C::T?>local4#param) → dynamic {
       #local4#isSet = true;
-      return #local4 = #t10;
+      return #local4 = local4#param;
     }
     lowered FutureOr<self::C::T?>? #local5;
     lowered core::bool #local5#isSet = false;
     function #local5#get() → FutureOr<self::C::T?>?
       return #local5#isSet ?{FutureOr<self::C::T?>?} #local5 : throw new _in::LateError::localNI("local5");
-    function #local5#set(FutureOr<self::C::T?>? #t11) → dynamic {
+    function #local5#set(FutureOr<self::C::T?>? local5#param) → dynamic {
       #local5#isSet = true;
-      return #local5 = #t11;
+      return #local5 = local5#param;
     }
   }
 }
@@ -123,9 +123,9 @@
   }
   return self::_#field1;
 }
-static set field1(FutureOr<dynamic>#t12) → void {
+static set field1(FutureOr<dynamic>field1#param) → void {
   self::_#field1#isSet = true;
-  self::_#field1 = #t12;
+  self::_#field1 = field1#param;
 }
 static get field2() → FutureOr<dynamic>? {
   if(!self::_#field2#isSet) {
@@ -134,9 +134,9 @@
   }
   return self::_#field2;
 }
-static set field2(FutureOr<dynamic>? #t13) → void {
+static set field2(FutureOr<dynamic>? field2#param) → void {
   self::_#field2#isSet = true;
-  self::_#field2 = #t13;
+  self::_#field2 = field2#param;
 }
 static get field3() → FutureOr<dynamic> {
   if(!self::_#field3#isSet) {
@@ -145,20 +145,20 @@
   }
   return self::_#field3;
 }
-static set field3(FutureOr<dynamic>#t14) → void {
+static set field3(FutureOr<dynamic>field3#param) → void {
   self::_#field3#isSet = true;
-  self::_#field3 = #t14;
+  self::_#field3 = field3#param;
 }
 static get field4() → FutureOr<core::int> {
   if(!self::_#field4#isSet) {
     self::_#field4 = self::method4();
     self::_#field4#isSet = true;
   }
-  return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15{FutureOr<core::int>};
+  return let final FutureOr<core::int>? #t2 = self::_#field4 in #t2{FutureOr<core::int>};
 }
-static set field4(FutureOr<core::int>#t16) → void {
+static set field4(FutureOr<core::int>field4#param) → void {
   self::_#field4#isSet = true;
-  self::_#field4 = #t16;
+  self::_#field4 = field4#param;
 }
 static get field5() → FutureOr<core::int?> {
   if(!self::_#field5#isSet) {
@@ -167,9 +167,9 @@
   }
   return self::_#field5;
 }
-static set field5(FutureOr<core::int?>#t17) → void {
+static set field5(FutureOr<core::int?>field5#param) → void {
   self::_#field5#isSet = true;
-  self::_#field5 = #t17;
+  self::_#field5 = field5#param;
 }
 static get field6() → FutureOr<core::int?>? {
   if(!self::_#field6#isSet) {
@@ -178,8 +178,8 @@
   }
   return self::_#field6;
 }
-static set field6(FutureOr<core::int?>? #t18) → void {
+static set field6(FutureOr<core::int?>? field6#param) → void {
   self::_#field6#isSet = true;
-  self::_#field6 = #t18;
+  self::_#field6 = field6#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.modular.expect
index b358ead..24faada 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.modular.expect
@@ -21,74 +21,74 @@
     ;
   get field1() → FutureOr<dynamic>
     return this.{self::C::_#C#field1#isSet}{core::bool} ?{FutureOr<dynamic>} this.{self::C::_#C#field1}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field1");
-  set field1(FutureOr<dynamic>#t1) → void {
+  set field1(FutureOr<dynamic>field1#param) → void {
     this.{self::C::_#C#field1#isSet} = true;
-    this.{self::C::_#C#field1} = #t1;
+    this.{self::C::_#C#field1} = field1#param;
   }
   get field2() → FutureOr<dynamic>?
     return this.{self::C::_#C#field2#isSet}{core::bool} ?{FutureOr<dynamic>?} this.{self::C::_#C#field2}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field2");
-  set field2(FutureOr<dynamic>? #t2) → void {
+  set field2(FutureOr<dynamic>? field2#param) → void {
     this.{self::C::_#C#field2#isSet} = true;
-    this.{self::C::_#C#field2} = #t2;
+    this.{self::C::_#C#field2} = field2#param;
   }
   get field3() → FutureOr<self::C::T%>
-    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t3 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t3{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
-  set field3(covariant-by-class FutureOr<self::C::T%>#t4) → void {
+    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t1 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t1{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
+  set field3(covariant-by-class FutureOr<self::C::T%>field3#param) → void {
     this.{self::C::_#C#field3#isSet} = true;
-    this.{self::C::_#C#field3} = #t4;
+    this.{self::C::_#C#field3} = field3#param;
   }
   get field4() → FutureOr<self::C::T?>
     return this.{self::C::_#C#field4#isSet}{core::bool} ?{FutureOr<self::C::T?>} this.{self::C::_#C#field4}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field4");
-  set field4(covariant-by-class FutureOr<self::C::T?>#t5) → void {
+  set field4(covariant-by-class FutureOr<self::C::T?>field4#param) → void {
     this.{self::C::_#C#field4#isSet} = true;
-    this.{self::C::_#C#field4} = #t5;
+    this.{self::C::_#C#field4} = field4#param;
   }
   get field5() → FutureOr<self::C::T?>?
     return this.{self::C::_#C#field5#isSet}{core::bool} ?{FutureOr<self::C::T?>?} this.{self::C::_#C#field5}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field5");
-  set field5(covariant-by-class FutureOr<self::C::T?>? #t6) → void {
+  set field5(covariant-by-class FutureOr<self::C::T?>? field5#param) → void {
     this.{self::C::_#C#field5#isSet} = true;
-    this.{self::C::_#C#field5} = #t6;
+    this.{self::C::_#C#field5} = field5#param;
   }
   method method() → dynamic {
     lowered FutureOr<dynamic>? #local1;
     lowered core::bool #local1#isSet = false;
     function #local1#get() → FutureOr<dynamic>
       return #local1#isSet ?{FutureOr<dynamic>} #local1 : throw new _in::LateError::localNI("local1");
-    function #local1#set(FutureOr<dynamic>#t7) → dynamic {
+    function #local1#set(FutureOr<dynamic>local1#param) → dynamic {
       #local1#isSet = true;
-      return #local1 = #t7;
+      return #local1 = local1#param;
     }
     lowered FutureOr<dynamic>? #local2;
     lowered core::bool #local2#isSet = false;
     function #local2#get() → FutureOr<dynamic>?
       return #local2#isSet ?{FutureOr<dynamic>?} #local2 : throw new _in::LateError::localNI("local2");
-    function #local2#set(FutureOr<dynamic>? #t8) → dynamic {
+    function #local2#set(FutureOr<dynamic>? local2#param) → dynamic {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
     lowered FutureOr<self::C::T%>? #local3;
     lowered core::bool #local3#isSet = false;
     function #local3#get() → FutureOr<self::C::T%>
       return #local3#isSet ?{FutureOr<self::C::T%>} #local3{FutureOr<self::C::T%>} : throw new _in::LateError::localNI("local3");
-    function #local3#set(FutureOr<self::C::T%>#t9) → dynamic {
+    function #local3#set(FutureOr<self::C::T%>local3#param) → dynamic {
       #local3#isSet = true;
-      return #local3 = #t9;
+      return #local3 = local3#param;
     }
     lowered FutureOr<self::C::T?>? #local4;
     lowered core::bool #local4#isSet = false;
     function #local4#get() → FutureOr<self::C::T?>
       return #local4#isSet ?{FutureOr<self::C::T?>} #local4 : throw new _in::LateError::localNI("local4");
-    function #local4#set(FutureOr<self::C::T?>#t10) → dynamic {
+    function #local4#set(FutureOr<self::C::T?>local4#param) → dynamic {
       #local4#isSet = true;
-      return #local4 = #t10;
+      return #local4 = local4#param;
     }
     lowered FutureOr<self::C::T?>? #local5;
     lowered core::bool #local5#isSet = false;
     function #local5#get() → FutureOr<self::C::T?>?
       return #local5#isSet ?{FutureOr<self::C::T?>?} #local5 : throw new _in::LateError::localNI("local5");
-    function #local5#set(FutureOr<self::C::T?>? #t11) → dynamic {
+    function #local5#set(FutureOr<self::C::T?>? local5#param) → dynamic {
       #local5#isSet = true;
-      return #local5 = #t11;
+      return #local5 = local5#param;
     }
   }
 }
@@ -123,9 +123,9 @@
   }
   return self::_#field1;
 }
-static set field1(FutureOr<dynamic>#t12) → void {
+static set field1(FutureOr<dynamic>field1#param) → void {
   self::_#field1#isSet = true;
-  self::_#field1 = #t12;
+  self::_#field1 = field1#param;
 }
 static get field2() → FutureOr<dynamic>? {
   if(!self::_#field2#isSet) {
@@ -134,9 +134,9 @@
   }
   return self::_#field2;
 }
-static set field2(FutureOr<dynamic>? #t13) → void {
+static set field2(FutureOr<dynamic>? field2#param) → void {
   self::_#field2#isSet = true;
-  self::_#field2 = #t13;
+  self::_#field2 = field2#param;
 }
 static get field3() → FutureOr<dynamic> {
   if(!self::_#field3#isSet) {
@@ -145,20 +145,20 @@
   }
   return self::_#field3;
 }
-static set field3(FutureOr<dynamic>#t14) → void {
+static set field3(FutureOr<dynamic>field3#param) → void {
   self::_#field3#isSet = true;
-  self::_#field3 = #t14;
+  self::_#field3 = field3#param;
 }
 static get field4() → FutureOr<core::int> {
   if(!self::_#field4#isSet) {
     self::_#field4 = self::method4();
     self::_#field4#isSet = true;
   }
-  return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15{FutureOr<core::int>};
+  return let final FutureOr<core::int>? #t2 = self::_#field4 in #t2{FutureOr<core::int>};
 }
-static set field4(FutureOr<core::int>#t16) → void {
+static set field4(FutureOr<core::int>field4#param) → void {
   self::_#field4#isSet = true;
-  self::_#field4 = #t16;
+  self::_#field4 = field4#param;
 }
 static get field5() → FutureOr<core::int?> {
   if(!self::_#field5#isSet) {
@@ -167,9 +167,9 @@
   }
   return self::_#field5;
 }
-static set field5(FutureOr<core::int?>#t17) → void {
+static set field5(FutureOr<core::int?>field5#param) → void {
   self::_#field5#isSet = true;
-  self::_#field5 = #t17;
+  self::_#field5 = field5#param;
 }
 static get field6() → FutureOr<core::int?>? {
   if(!self::_#field6#isSet) {
@@ -178,8 +178,8 @@
   }
   return self::_#field6;
 }
-static set field6(FutureOr<core::int?>? #t18) → void {
+static set field6(FutureOr<core::int?>? field6#param) → void {
   self::_#field6#isSet = true;
-  self::_#field6 = #t18;
+  self::_#field6 = field6#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.outline.expect
index 6c197d9..27f5ef5 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.outline.expect
@@ -18,15 +18,15 @@
   synthetic constructor •() → self::C<self::C::T%>
     ;
   get field1() → FutureOr<dynamic>;
-  set field1(FutureOr<dynamic>#t1) → void;
+  set field1(FutureOr<dynamic>field1#param) → void;
   get field2() → FutureOr<dynamic>?;
-  set field2(FutureOr<dynamic>? #t2) → void;
+  set field2(FutureOr<dynamic>? field2#param) → void;
   get field3() → FutureOr<self::C::T%>;
-  set field3(covariant-by-class FutureOr<self::C::T%>#t3) → void;
+  set field3(covariant-by-class FutureOr<self::C::T%>field3#param) → void;
   get field4() → FutureOr<self::C::T?>;
-  set field4(covariant-by-class FutureOr<self::C::T?>#t4) → void;
+  set field4(covariant-by-class FutureOr<self::C::T?>field4#param) → void;
   get field5() → FutureOr<self::C::T?>?;
-  set field5(covariant-by-class FutureOr<self::C::T?>? #t5) → void;
+  set field5(covariant-by-class FutureOr<self::C::T?>? field5#param) → void;
   method method() → dynamic
     ;
 }
@@ -55,16 +55,16 @@
 static method method6() → FutureOr<core::int?>?
   ;
 static get field1() → FutureOr<dynamic>;
-static set field1(FutureOr<dynamic>#t6) → void;
+static set field1(FutureOr<dynamic>field1#param) → void;
 static get field2() → FutureOr<dynamic>?;
-static set field2(FutureOr<dynamic>? #t7) → void;
+static set field2(FutureOr<dynamic>? field2#param) → void;
 static get field3() → FutureOr<dynamic>;
-static set field3(FutureOr<dynamic>#t8) → void;
+static set field3(FutureOr<dynamic>field3#param) → void;
 static get field4() → FutureOr<core::int>;
-static set field4(FutureOr<core::int>#t9) → void;
+static set field4(FutureOr<core::int>field4#param) → void;
 static get field5() → FutureOr<core::int?>;
-static set field5(FutureOr<core::int?>#t10) → void;
+static set field5(FutureOr<core::int?>field5#param) → void;
 static get field6() → FutureOr<core::int?>?;
-static set field6(FutureOr<core::int?>? #t11) → void;
+static set field6(FutureOr<core::int?>? field6#param) → void;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.transformed.expect
index b358ead..24faada 100644
--- a/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_future_or.dart.weak.transformed.expect
@@ -21,74 +21,74 @@
     ;
   get field1() → FutureOr<dynamic>
     return this.{self::C::_#C#field1#isSet}{core::bool} ?{FutureOr<dynamic>} this.{self::C::_#C#field1}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field1");
-  set field1(FutureOr<dynamic>#t1) → void {
+  set field1(FutureOr<dynamic>field1#param) → void {
     this.{self::C::_#C#field1#isSet} = true;
-    this.{self::C::_#C#field1} = #t1;
+    this.{self::C::_#C#field1} = field1#param;
   }
   get field2() → FutureOr<dynamic>?
     return this.{self::C::_#C#field2#isSet}{core::bool} ?{FutureOr<dynamic>?} this.{self::C::_#C#field2}{FutureOr<dynamic>?} : throw new _in::LateError::fieldNI("field2");
-  set field2(FutureOr<dynamic>? #t2) → void {
+  set field2(FutureOr<dynamic>? field2#param) → void {
     this.{self::C::_#C#field2#isSet} = true;
-    this.{self::C::_#C#field2} = #t2;
+    this.{self::C::_#C#field2} = field2#param;
   }
   get field3() → FutureOr<self::C::T%>
-    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t3 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t3{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
-  set field3(covariant-by-class FutureOr<self::C::T%>#t4) → void {
+    return this.{self::C::_#C#field3#isSet}{core::bool} ?{FutureOr<self::C::T%>} let final FutureOr<self::C::T%>? #t1 = this.{self::C::_#C#field3}{FutureOr<self::C::T%>?} in #t1{FutureOr<self::C::T%>} : throw new _in::LateError::fieldNI("field3");
+  set field3(covariant-by-class FutureOr<self::C::T%>field3#param) → void {
     this.{self::C::_#C#field3#isSet} = true;
-    this.{self::C::_#C#field3} = #t4;
+    this.{self::C::_#C#field3} = field3#param;
   }
   get field4() → FutureOr<self::C::T?>
     return this.{self::C::_#C#field4#isSet}{core::bool} ?{FutureOr<self::C::T?>} this.{self::C::_#C#field4}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field4");
-  set field4(covariant-by-class FutureOr<self::C::T?>#t5) → void {
+  set field4(covariant-by-class FutureOr<self::C::T?>field4#param) → void {
     this.{self::C::_#C#field4#isSet} = true;
-    this.{self::C::_#C#field4} = #t5;
+    this.{self::C::_#C#field4} = field4#param;
   }
   get field5() → FutureOr<self::C::T?>?
     return this.{self::C::_#C#field5#isSet}{core::bool} ?{FutureOr<self::C::T?>?} this.{self::C::_#C#field5}{FutureOr<self::C::T?>?} : throw new _in::LateError::fieldNI("field5");
-  set field5(covariant-by-class FutureOr<self::C::T?>? #t6) → void {
+  set field5(covariant-by-class FutureOr<self::C::T?>? field5#param) → void {
     this.{self::C::_#C#field5#isSet} = true;
-    this.{self::C::_#C#field5} = #t6;
+    this.{self::C::_#C#field5} = field5#param;
   }
   method method() → dynamic {
     lowered FutureOr<dynamic>? #local1;
     lowered core::bool #local1#isSet = false;
     function #local1#get() → FutureOr<dynamic>
       return #local1#isSet ?{FutureOr<dynamic>} #local1 : throw new _in::LateError::localNI("local1");
-    function #local1#set(FutureOr<dynamic>#t7) → dynamic {
+    function #local1#set(FutureOr<dynamic>local1#param) → dynamic {
       #local1#isSet = true;
-      return #local1 = #t7;
+      return #local1 = local1#param;
     }
     lowered FutureOr<dynamic>? #local2;
     lowered core::bool #local2#isSet = false;
     function #local2#get() → FutureOr<dynamic>?
       return #local2#isSet ?{FutureOr<dynamic>?} #local2 : throw new _in::LateError::localNI("local2");
-    function #local2#set(FutureOr<dynamic>? #t8) → dynamic {
+    function #local2#set(FutureOr<dynamic>? local2#param) → dynamic {
       #local2#isSet = true;
-      return #local2 = #t8;
+      return #local2 = local2#param;
     }
     lowered FutureOr<self::C::T%>? #local3;
     lowered core::bool #local3#isSet = false;
     function #local3#get() → FutureOr<self::C::T%>
       return #local3#isSet ?{FutureOr<self::C::T%>} #local3{FutureOr<self::C::T%>} : throw new _in::LateError::localNI("local3");
-    function #local3#set(FutureOr<self::C::T%>#t9) → dynamic {
+    function #local3#set(FutureOr<self::C::T%>local3#param) → dynamic {
       #local3#isSet = true;
-      return #local3 = #t9;
+      return #local3 = local3#param;
     }
     lowered FutureOr<self::C::T?>? #local4;
     lowered core::bool #local4#isSet = false;
     function #local4#get() → FutureOr<self::C::T?>
       return #local4#isSet ?{FutureOr<self::C::T?>} #local4 : throw new _in::LateError::localNI("local4");
-    function #local4#set(FutureOr<self::C::T?>#t10) → dynamic {
+    function #local4#set(FutureOr<self::C::T?>local4#param) → dynamic {
       #local4#isSet = true;
-      return #local4 = #t10;
+      return #local4 = local4#param;
     }
     lowered FutureOr<self::C::T?>? #local5;
     lowered core::bool #local5#isSet = false;
     function #local5#get() → FutureOr<self::C::T?>?
       return #local5#isSet ?{FutureOr<self::C::T?>?} #local5 : throw new _in::LateError::localNI("local5");
-    function #local5#set(FutureOr<self::C::T?>? #t11) → dynamic {
+    function #local5#set(FutureOr<self::C::T?>? local5#param) → dynamic {
       #local5#isSet = true;
-      return #local5 = #t11;
+      return #local5 = local5#param;
     }
   }
 }
@@ -123,9 +123,9 @@
   }
   return self::_#field1;
 }
-static set field1(FutureOr<dynamic>#t12) → void {
+static set field1(FutureOr<dynamic>field1#param) → void {
   self::_#field1#isSet = true;
-  self::_#field1 = #t12;
+  self::_#field1 = field1#param;
 }
 static get field2() → FutureOr<dynamic>? {
   if(!self::_#field2#isSet) {
@@ -134,9 +134,9 @@
   }
   return self::_#field2;
 }
-static set field2(FutureOr<dynamic>? #t13) → void {
+static set field2(FutureOr<dynamic>? field2#param) → void {
   self::_#field2#isSet = true;
-  self::_#field2 = #t13;
+  self::_#field2 = field2#param;
 }
 static get field3() → FutureOr<dynamic> {
   if(!self::_#field3#isSet) {
@@ -145,20 +145,20 @@
   }
   return self::_#field3;
 }
-static set field3(FutureOr<dynamic>#t14) → void {
+static set field3(FutureOr<dynamic>field3#param) → void {
   self::_#field3#isSet = true;
-  self::_#field3 = #t14;
+  self::_#field3 = field3#param;
 }
 static get field4() → FutureOr<core::int> {
   if(!self::_#field4#isSet) {
     self::_#field4 = self::method4();
     self::_#field4#isSet = true;
   }
-  return let final FutureOr<core::int>? #t15 = self::_#field4 in #t15{FutureOr<core::int>};
+  return let final FutureOr<core::int>? #t2 = self::_#field4 in #t2{FutureOr<core::int>};
 }
-static set field4(FutureOr<core::int>#t16) → void {
+static set field4(FutureOr<core::int>field4#param) → void {
   self::_#field4#isSet = true;
-  self::_#field4 = #t16;
+  self::_#field4 = field4#param;
 }
 static get field5() → FutureOr<core::int?> {
   if(!self::_#field5#isSet) {
@@ -167,9 +167,9 @@
   }
   return self::_#field5;
 }
-static set field5(FutureOr<core::int?>#t17) → void {
+static set field5(FutureOr<core::int?>field5#param) → void {
   self::_#field5#isSet = true;
-  self::_#field5 = #t17;
+  self::_#field5 = field5#param;
 }
 static get field6() → FutureOr<core::int?>? {
   if(!self::_#field6#isSet) {
@@ -178,8 +178,8 @@
   }
   return self::_#field6;
 }
-static set field6(FutureOr<core::int?>? #t18) → void {
+static set field6(FutureOr<core::int?>? field6#param) → void {
   self::_#field6#isSet = true;
-  self::_#field6 = #t18;
+  self::_#field6 = field6#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect
index 3e73dd7..5e8787e 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.expect
@@ -6,8 +6,8 @@
   lowered core::int? #lateLocal;
   function #lateLocal#get() → core::int
     return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} #lateLocal = 123 : #t1{core::int};
-  function #lateLocal#set(core::int #t2) → dynamic
-    return #lateLocal = #t2;
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
+    return #lateLocal = lateLocal#param;
   self::expect(123, #lateLocal#get(){() → core::int});
   self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
   self::expect(124, #lateLocal#get(){() → core::int});
@@ -21,9 +21,9 @@
       }
       return #lateGenericLocal{T%};
     }
-    function #lateGenericLocal#set(T% #t3) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t3;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T%});
     self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect
index 3e73dd7..5e8787e 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.strong.transformed.expect
@@ -6,8 +6,8 @@
   lowered core::int? #lateLocal;
   function #lateLocal#get() → core::int
     return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} #lateLocal = 123 : #t1{core::int};
-  function #lateLocal#set(core::int #t2) → dynamic
-    return #lateLocal = #t2;
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
+    return #lateLocal = lateLocal#param;
   self::expect(123, #lateLocal#get(){() → core::int});
   self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
   self::expect(124, #lateLocal#get(){() → core::int});
@@ -21,9 +21,9 @@
       }
       return #lateGenericLocal{T%};
     }
-    function #lateGenericLocal#set(T% #t3) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t3;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T%});
     self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect
index caa8e52..50562b0 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.expect
@@ -12,9 +12,9 @@
     }
     return #lateLocal{core::int};
   }
-  function #lateLocal#set(core::int #t1) → dynamic {
+  function #lateLocal#set(core::int lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int});
   self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
@@ -29,9 +29,9 @@
       }
       return #lateGenericLocal{T%};
     }
-    function #lateGenericLocal#set(T% #t2) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T%});
     self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.modular.expect
index caa8e52..50562b0 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.modular.expect
@@ -12,9 +12,9 @@
     }
     return #lateLocal{core::int};
   }
-  function #lateLocal#set(core::int #t1) → dynamic {
+  function #lateLocal#set(core::int lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int});
   self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
@@ -29,9 +29,9 @@
       }
       return #lateGenericLocal{T%};
     }
-    function #lateGenericLocal#set(T% #t2) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T%});
     self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect
index caa8e52..50562b0 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_with_initializer.dart.weak.transformed.expect
@@ -12,9 +12,9 @@
     }
     return #lateLocal{core::int};
   }
-  function #lateLocal#set(core::int #t1) → dynamic {
+  function #lateLocal#set(core::int lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int});
   self::expect(124, #lateLocal#set(124){(core::int) → dynamic});
@@ -29,9 +29,9 @@
       }
       return #lateGenericLocal{T%};
     }
-    function #lateGenericLocal#set(T% #t2) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T%});
     self::expect(value2, #lateGenericLocal#set(value2){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect
index 9b91555..d867d13 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.expect
@@ -7,8 +7,8 @@
   lowered core::int? #lateLocal;
   function #lateLocal#get() → core::int
     return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
-  function #lateLocal#set(core::int #t2) → dynamic
-    return #lateLocal = #t2;
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
+    return #lateLocal = lateLocal#param;
   self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
   self::expect(123, #lateLocal#get(){() → core::int});
@@ -17,9 +17,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t3) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t3;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect
index 9b91555..d867d13 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.strong.transformed.expect
@@ -7,8 +7,8 @@
   lowered core::int? #lateLocal;
   function #lateLocal#get() → core::int
     return let final core::int? #t1 = #lateLocal in #t1 == null ?{core::int} throw new _in::LateError::localNI("lateLocal") : #t1{core::int};
-  function #lateLocal#set(core::int #t2) → dynamic
-    return #lateLocal = #t2;
+  function #lateLocal#set(core::int lateLocal#param) → dynamic
+    return #lateLocal = lateLocal#param;
   self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
   self::expect(123, #lateLocal#get(){() → core::int});
@@ -17,9 +17,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t3) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t3;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect
index c6c3b91..5bc0eca 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int
     return #lateLocal#isSet ?{core::int} #lateLocal{core::int} : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int #t1) → dynamic {
+  function #lateLocal#set(core::int lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t2) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.modular.expect
index c6c3b91..5bc0eca 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.modular.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int
     return #lateLocal#isSet ?{core::int} #lateLocal{core::int} : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int #t1) → dynamic {
+  function #lateLocal#set(core::int lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t2) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect
index c6c3b91..5bc0eca 100644
--- a/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_local_without_initializer.dart.weak.transformed.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int
     return #lateLocal#isSet ?{core::int} #lateLocal{core::int} : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int #t1) → dynamic {
+  function #lateLocal#set(core::int lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int => #lateLocal#get(){() → core::int}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T%
       return #lateGenericLocal#isSet ?{T%} #lateGenericLocal{T%} : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T% #t2) → dynamic {
+    function #lateGenericLocal#set(T% lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T% => #lateGenericLocal#get(){() → T%}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T%) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect
index 9cfa15f..fbb4ddc 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.expect
@@ -17,38 +17,38 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
-  static set uninitializedNonFinalStaticField(core::int #t2) → void
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   static get uninitializedFinalStaticField() → core::int
-    return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t2{core::int};
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField == null)
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
   static get initializedNonFinalStaticField() → core::int
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
-  static set initializedNonFinalStaticField(core::int #t6) → void
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t3{core::int};
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   static get initializedFinalStaticField() → core::int
-    return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+    return let final core::int? #t4 = self::Class::_#initializedFinalStaticField in #t4 == null ?{core::int} let final core::int #t5 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t5 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t4{core::int};
   get uninitializedNonFinalInstanceField() → core::int
-    return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t9{core::int};
-  set uninitializedNonFinalInstanceField(core::int #t10) → void
-    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = #t10;
+    return let final core::int? #t6 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t6{core::int};
+  set uninitializedNonFinalInstanceField(core::int uninitializedNonFinalInstanceField#param) → void
+    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = uninitializedNonFinalInstanceField#param;
   get uninitializedFinalInstanceField() → core::int
-    return let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t11{core::int};
-  set uninitializedFinalInstanceField(core::int #t12) → void
+    return let final core::int? #t7 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t7{core::int};
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} == null)
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t12;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
   get initializedNonFinalInstanceField() → core::int
-    return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t13 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t13{core::int};
-  set initializedNonFinalInstanceField(core::int #t14) → void
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t14;
+    return let final core::int? #t8 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t8 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t8{core::int};
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   get initializedFinalInstanceField() → core::int
-    return let final core::int? #t15 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t16 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t15{core::int};
+    return let final core::int? #t9 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t9 == null ?{core::int} let final core::int #t10 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t10 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t9{core::int};
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
 static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -60,32 +60,32 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t17) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t17;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t18 = #nonNullableUninitializedNonFinalLocal in #t18 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t18{core::int};
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t19) → dynamic
-    return #nonNullableUninitializedNonFinalLocal = #t19;
+    return let final core::int? #t11 = #nonNullableUninitializedNonFinalLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t11{core::int};
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t20) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t20;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   function #nonNullableUninitializedFinalLocal#get() → core::int
-    return let final core::int? #t21 = #nonNullableUninitializedFinalLocal in #t21 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t21{core::int};
-  function #nonNullableUninitializedFinalLocal#set(core::int #t22) → dynamic
+    return let final core::int? #t12 = #nonNullableUninitializedFinalLocal in #t12 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t12{core::int};
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal == null)
-      return #nonNullableUninitializedFinalLocal = #t22;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
   lowered core::int? #nullableInitializedNonFinalLocal;
@@ -97,45 +97,45 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t23) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t23;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   function #nonNullableInitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t24 = #nonNullableInitializedNonFinalLocal in #t24 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t24{core::int};
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t25) → dynamic
-    return #nonNullableInitializedNonFinalLocal = #t25;
+    return let final core::int? #t13 = #nonNullableInitializedNonFinalLocal in #t13 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t13{core::int};
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t26 = 0;
+      final core::int? #t14 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t26;
+      #nullableInitializedFinalLocal = #t14;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
   }
   lowered final core::int? #nonNullableInitializedFinalLocal;
   function #nonNullableInitializedFinalLocal#get() → core::int
-    return let final core::int? #t27 = #nonNullableInitializedFinalLocal in #t27 == null ?{core::int} let final core::int #t28 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t28 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t27{core::int};
+    return let final core::int? #t15 = #nonNullableInitializedFinalLocal in #t15 == null ?{core::int} let final core::int #t16 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t16 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t15{core::int};
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t29 = self::_#uninitializedNonFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t29{core::int};
-static set uninitializedNonFinalTopLevelField(core::int #t30) → void
-  self::_#uninitializedNonFinalTopLevelField = #t30;
+  return let final core::int? #t17 = self::_#uninitializedNonFinalTopLevelField in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t17{core::int};
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 static get uninitializedFinalTopLevelField() → core::int
-  return let final core::int? #t31 = self::_#uninitializedFinalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t31{core::int};
-static set uninitializedFinalTopLevelField(core::int #t32) → void
+  return let final core::int? #t18 = self::_#uninitializedFinalTopLevelField in #t18 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t18{core::int};
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField == null)
-    self::_#uninitializedFinalTopLevelField = #t32;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
 static get initializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t33 = self::_#initializedNonFinalTopLevelField in #t33 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t33{core::int};
-static set initializedNonFinalTopLevelField(core::int #t34) → void
-  self::_#initializedNonFinalTopLevelField = #t34;
+  return let final core::int? #t19 = self::_#initializedNonFinalTopLevelField in #t19 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t19{core::int};
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 static get initializedFinalTopLevelField() → core::int
-  return let final core::int? #t35 = self::_#initializedFinalTopLevelField in #t35 == null ?{core::int} let final core::int #t36 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t36 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t35{core::int};
+  return let final core::int? #t20 = self::_#initializedFinalTopLevelField in #t20 == null ?{core::int} let final core::int #t21 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t21 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t20{core::int};
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect
index f35b5d9..a24db18 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.strong.transformed.expect
@@ -17,38 +17,38 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
-  static set uninitializedNonFinalStaticField(core::int #t2) → void
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   static get uninitializedFinalStaticField() → core::int
-    return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t2{core::int};
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField == null)
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
   static get initializedNonFinalStaticField() → core::int
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
-  static set initializedNonFinalStaticField(core::int #t6) → void
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t3{core::int};
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   static get initializedFinalStaticField() → core::int
-    return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+    return let final core::int? #t4 = self::Class::_#initializedFinalStaticField in #t4 == null ?{core::int} let final core::int #t5 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t5 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t4{core::int};
   get uninitializedNonFinalInstanceField() → core::int
-    return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t9{core::int};
-  set uninitializedNonFinalInstanceField(core::int #t10) → void
-    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = #t10;
+    return let final core::int? #t6 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField") : #t6{core::int};
+  set uninitializedNonFinalInstanceField(core::int uninitializedNonFinalInstanceField#param) → void
+    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = uninitializedNonFinalInstanceField#param;
   get uninitializedFinalInstanceField() → core::int
-    return let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t11{core::int};
-  set uninitializedFinalInstanceField(core::int #t12) → void
+    return let final core::int? #t7 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t7{core::int};
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} == null)
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t12;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
   get initializedNonFinalInstanceField() → core::int
-    return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t13 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t13{core::int};
-  set initializedNonFinalInstanceField(core::int #t14) → void
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t14;
+    return let final core::int? #t8 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t8 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t8{core::int};
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   get initializedFinalInstanceField() → core::int
-    return let final core::int? #t15 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t16 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t15{core::int};
+    return let final core::int? #t9 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t9 == null ?{core::int} let final core::int #t10 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t10 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t9{core::int};
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
 static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -60,32 +60,32 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t17) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t17;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t18 = #nonNullableUninitializedNonFinalLocal in #t18 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t18{core::int};
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t19) → dynamic
-    return #nonNullableUninitializedNonFinalLocal = #t19;
+    return let final core::int? #t11 = #nonNullableUninitializedNonFinalLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t11{core::int};
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t20) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t20;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   function #nonNullableUninitializedFinalLocal#get() → core::int
-    return let final core::int? #t21 = #nonNullableUninitializedFinalLocal in #t21 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t21{core::int};
-  function #nonNullableUninitializedFinalLocal#set(core::int #t22) → dynamic
+    return let final core::int? #t12 = #nonNullableUninitializedFinalLocal in #t12 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t12{core::int};
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal == null)
-      return #nonNullableUninitializedFinalLocal = #t22;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
   lowered core::int? #nullableInitializedNonFinalLocal;
@@ -97,48 +97,48 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t23) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t23;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   function #nonNullableInitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t24 = #nonNullableInitializedNonFinalLocal in #t24 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t24{core::int};
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t25) → dynamic
-    return #nonNullableInitializedNonFinalLocal = #t25;
+    return let final core::int? #t13 = #nonNullableInitializedNonFinalLocal in #t13 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t13{core::int};
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t26 = 0;
+      final core::int? #t14 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t26;
+      #nullableInitializedFinalLocal = #t14;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
   }
   lowered final core::int? #nonNullableInitializedFinalLocal;
   function #nonNullableInitializedFinalLocal#get() → core::int
-    return let final core::int? #t27 = #nonNullableInitializedFinalLocal in #t27 == null ?{core::int} let final core::int #t28 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t28 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t27{core::int};
+    return let final core::int? #t15 = #nonNullableInitializedFinalLocal in #t15 == null ?{core::int} let final core::int #t16 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t16 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t15{core::int};
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t29 = self::_#uninitializedNonFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t29{core::int};
-static set uninitializedNonFinalTopLevelField(core::int #t30) → void
-  self::_#uninitializedNonFinalTopLevelField = #t30;
+  return let final core::int? #t17 = self::_#uninitializedNonFinalTopLevelField in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t17{core::int};
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 static get uninitializedFinalTopLevelField() → core::int
-  return let final core::int? #t31 = self::_#uninitializedFinalTopLevelField in #t31 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t31{core::int};
-static set uninitializedFinalTopLevelField(core::int #t32) → void
+  return let final core::int? #t18 = self::_#uninitializedFinalTopLevelField in #t18 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t18{core::int};
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField == null)
-    self::_#uninitializedFinalTopLevelField = #t32;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
 static get initializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t33 = self::_#initializedNonFinalTopLevelField in #t33 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t33{core::int};
-static set initializedNonFinalTopLevelField(core::int #t34) → void
-  self::_#initializedNonFinalTopLevelField = #t34;
+  return let final core::int? #t19 = self::_#initializedNonFinalTopLevelField in #t19 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t19{core::int};
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 static get initializedFinalTopLevelField() → core::int
-  return let final core::int? #t35 = self::_#initializedFinalTopLevelField in #t35 == null ?{core::int} let final core::int #t36 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t36 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t35{core::int};
+  return let final core::int? #t20 = self::_#initializedFinalTopLevelField in #t20 == null ?{core::int} let final core::int #t21 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t21 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t20{core::int};
 
 
 Extra constant evaluation status:
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.expect
index 4c7909a..c0e43bc 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.expect
@@ -25,75 +25,75 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return self::Class::_#uninitializedNonFinalStaticField#isSet ?{core::int} let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField");
-  static set uninitializedNonFinalStaticField(core::int #t2) → void {
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void {
     self::Class::_#uninitializedNonFinalStaticField#isSet = true;
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   }
   static get uninitializedFinalStaticField() → core::int
-    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField#isSet)
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
     else {
       self::Class::_#uninitializedFinalStaticField#isSet = true;
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     }
   static get initializedNonFinalStaticField() → core::int {
     if(!self::Class::_#initializedNonFinalStaticField#isSet) {
       self::Class::_#initializedNonFinalStaticField = 0;
       self::Class::_#initializedNonFinalStaticField#isSet = true;
     }
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5{core::int};
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3{core::int};
   }
-  static set initializedNonFinalStaticField(core::int #t6) → void {
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void {
     self::Class::_#initializedNonFinalStaticField#isSet = true;
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   }
   static get initializedFinalStaticField() → core::int {
     if(!self::Class::_#initializedFinalStaticField#isSet) {
-      final core::int #t7 = 0;
+      final core::int #t4 = 0;
       if(self::Class::_#initializedFinalStaticField#isSet)
         throw new _in::LateError::fieldADI("initializedFinalStaticField");
-      self::Class::_#initializedFinalStaticField = #t7;
+      self::Class::_#initializedFinalStaticField = #t4;
       self::Class::_#initializedFinalStaticField#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#initializedFinalStaticField in #t8{core::int};
+    return let final core::int? #t5 = self::Class::_#initializedFinalStaticField in #t5{core::int};
   }
   get uninitializedNonFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField");
-  set uninitializedNonFinalInstanceField(core::int #t10) → void {
+    return this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField");
+  set uninitializedNonFinalInstanceField(core::int uninitializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = #t10;
+    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = uninitializedNonFinalInstanceField#param;
   }
   get uninitializedFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
-  set uninitializedFinalInstanceField(core::int #t12) → void
+    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
     else {
       this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet} = true;
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t12;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     }
   get initializedNonFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet}{core::bool}) {
       this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0;
       this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t13{core::int};
+    return let final core::int? #t8 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t8{core::int};
   }
-  set initializedNonFinalInstanceField(core::int #t14) → void {
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t14;
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   }
   get initializedFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool}) {
-      final core::int #t15 = 0;
+      final core::int #t9 = 0;
       if(this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool})
         throw new _in::LateError::fieldADI("initializedFinalInstanceField");
-      this.{self::Class::_#Class#initializedFinalInstanceField} = #t15;
+      this.{self::Class::_#Class#initializedFinalInstanceField} = #t9;
       this.{self::Class::_#Class#initializedFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t16 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t16{core::int};
+    return let final core::int? #t10 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t10{core::int};
   }
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
@@ -110,39 +110,39 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t17) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t17;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   lowered core::bool #nonNullableUninitializedNonFinalLocal#isSet = false;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
     return #nonNullableUninitializedNonFinalLocal#isSet ?{core::int} #nonNullableUninitializedNonFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal");
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t18) → dynamic {
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic {
     #nonNullableUninitializedNonFinalLocal#isSet = true;
-    return #nonNullableUninitializedNonFinalLocal = #t18;
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t19) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t19;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   lowered core::bool #nonNullableUninitializedFinalLocal#isSet = false;
   function #nonNullableUninitializedFinalLocal#get() → core::int
     return #nonNullableUninitializedFinalLocal#isSet ?{core::int} #nonNullableUninitializedFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal");
-  function #nonNullableUninitializedFinalLocal#set(core::int #t20) → dynamic
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
     else {
       #nonNullableUninitializedFinalLocal#isSet = true;
-      return #nonNullableUninitializedFinalLocal = #t20;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     }
   lowered core::int? #nullableInitializedNonFinalLocal;
   lowered core::bool #nullableInitializedNonFinalLocal#isSet = false;
@@ -153,9 +153,9 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t21) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t21;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   lowered core::bool #nonNullableInitializedNonFinalLocal#isSet = false;
@@ -166,18 +166,18 @@
     }
     return #nonNullableInitializedNonFinalLocal{core::int};
   }
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t22) → dynamic {
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic {
     #nonNullableInitializedNonFinalLocal#isSet = true;
-    return #nonNullableInitializedNonFinalLocal = #t22;
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t23 = 0;
+      final core::int? #t11 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t23;
+      #nullableInitializedFinalLocal = #t11;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
@@ -186,48 +186,48 @@
   lowered core::bool #nonNullableInitializedFinalLocal#isSet = false;
   function #nonNullableInitializedFinalLocal#get() → core::int {
     if(!#nonNullableInitializedFinalLocal#isSet) {
-      final core::int #t24 = 0;
+      final core::int #t12 = 0;
       if(#nonNullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nonNullableInitializedFinalLocal");
-      #nonNullableInitializedFinalLocal = #t24;
+      #nonNullableInitializedFinalLocal = #t12;
       #nonNullableInitializedFinalLocal#isSet = true;
     }
     return #nonNullableInitializedFinalLocal{core::int};
   }
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t25 = self::_#uninitializedNonFinalTopLevelField in #t25{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
-static set uninitializedNonFinalTopLevelField(core::int #t26) → void {
+  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t13 = self::_#uninitializedNonFinalTopLevelField in #t13{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void {
   self::_#uninitializedNonFinalTopLevelField#isSet = true;
-  self::_#uninitializedNonFinalTopLevelField = #t26;
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 }
 static get uninitializedFinalTopLevelField() → core::int
-  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t27 = self::_#uninitializedFinalTopLevelField in #t27{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
-static set uninitializedFinalTopLevelField(core::int #t28) → void
+  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t14 = self::_#uninitializedFinalTopLevelField in #t14{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
   else {
     self::_#uninitializedFinalTopLevelField#isSet = true;
-    self::_#uninitializedFinalTopLevelField = #t28;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   }
 static get initializedNonFinalTopLevelField() → core::int {
   if(!self::_#initializedNonFinalTopLevelField#isSet) {
     self::_#initializedNonFinalTopLevelField = 0;
     self::_#initializedNonFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t29 = self::_#initializedNonFinalTopLevelField in #t29{core::int};
+  return let final core::int? #t15 = self::_#initializedNonFinalTopLevelField in #t15{core::int};
 }
-static set initializedNonFinalTopLevelField(core::int #t30) → void {
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void {
   self::_#initializedNonFinalTopLevelField#isSet = true;
-  self::_#initializedNonFinalTopLevelField = #t30;
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 }
 static get initializedFinalTopLevelField() → core::int {
   if(!self::_#initializedFinalTopLevelField#isSet) {
-    final core::int #t31 = 0;
+    final core::int #t16 = 0;
     if(self::_#initializedFinalTopLevelField#isSet)
       throw new _in::LateError::fieldADI("initializedFinalTopLevelField");
-    self::_#initializedFinalTopLevelField = #t31;
+    self::_#initializedFinalTopLevelField = #t16;
     self::_#initializedFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t32 = self::_#initializedFinalTopLevelField in #t32{core::int};
+  return let final core::int? #t17 = self::_#initializedFinalTopLevelField in #t17{core::int};
 }
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.modular.expect
index 4c7909a..c0e43bc 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.modular.expect
@@ -25,75 +25,75 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return self::Class::_#uninitializedNonFinalStaticField#isSet ?{core::int} let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField");
-  static set uninitializedNonFinalStaticField(core::int #t2) → void {
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void {
     self::Class::_#uninitializedNonFinalStaticField#isSet = true;
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   }
   static get uninitializedFinalStaticField() → core::int
-    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField#isSet)
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
     else {
       self::Class::_#uninitializedFinalStaticField#isSet = true;
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     }
   static get initializedNonFinalStaticField() → core::int {
     if(!self::Class::_#initializedNonFinalStaticField#isSet) {
       self::Class::_#initializedNonFinalStaticField = 0;
       self::Class::_#initializedNonFinalStaticField#isSet = true;
     }
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5{core::int};
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3{core::int};
   }
-  static set initializedNonFinalStaticField(core::int #t6) → void {
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void {
     self::Class::_#initializedNonFinalStaticField#isSet = true;
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   }
   static get initializedFinalStaticField() → core::int {
     if(!self::Class::_#initializedFinalStaticField#isSet) {
-      final core::int #t7 = 0;
+      final core::int #t4 = 0;
       if(self::Class::_#initializedFinalStaticField#isSet)
         throw new _in::LateError::fieldADI("initializedFinalStaticField");
-      self::Class::_#initializedFinalStaticField = #t7;
+      self::Class::_#initializedFinalStaticField = #t4;
       self::Class::_#initializedFinalStaticField#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#initializedFinalStaticField in #t8{core::int};
+    return let final core::int? #t5 = self::Class::_#initializedFinalStaticField in #t5{core::int};
   }
   get uninitializedNonFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField");
-  set uninitializedNonFinalInstanceField(core::int #t10) → void {
+    return this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField");
+  set uninitializedNonFinalInstanceField(core::int uninitializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = #t10;
+    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = uninitializedNonFinalInstanceField#param;
   }
   get uninitializedFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
-  set uninitializedFinalInstanceField(core::int #t12) → void
+    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
     else {
       this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet} = true;
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t12;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     }
   get initializedNonFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet}{core::bool}) {
       this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0;
       this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t13{core::int};
+    return let final core::int? #t8 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t8{core::int};
   }
-  set initializedNonFinalInstanceField(core::int #t14) → void {
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t14;
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   }
   get initializedFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool}) {
-      final core::int #t15 = 0;
+      final core::int #t9 = 0;
       if(this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool})
         throw new _in::LateError::fieldADI("initializedFinalInstanceField");
-      this.{self::Class::_#Class#initializedFinalInstanceField} = #t15;
+      this.{self::Class::_#Class#initializedFinalInstanceField} = #t9;
       this.{self::Class::_#Class#initializedFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t16 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t16{core::int};
+    return let final core::int? #t10 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t10{core::int};
   }
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
@@ -110,39 +110,39 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t17) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t17;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   lowered core::bool #nonNullableUninitializedNonFinalLocal#isSet = false;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
     return #nonNullableUninitializedNonFinalLocal#isSet ?{core::int} #nonNullableUninitializedNonFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal");
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t18) → dynamic {
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic {
     #nonNullableUninitializedNonFinalLocal#isSet = true;
-    return #nonNullableUninitializedNonFinalLocal = #t18;
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t19) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t19;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   lowered core::bool #nonNullableUninitializedFinalLocal#isSet = false;
   function #nonNullableUninitializedFinalLocal#get() → core::int
     return #nonNullableUninitializedFinalLocal#isSet ?{core::int} #nonNullableUninitializedFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal");
-  function #nonNullableUninitializedFinalLocal#set(core::int #t20) → dynamic
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
     else {
       #nonNullableUninitializedFinalLocal#isSet = true;
-      return #nonNullableUninitializedFinalLocal = #t20;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     }
   lowered core::int? #nullableInitializedNonFinalLocal;
   lowered core::bool #nullableInitializedNonFinalLocal#isSet = false;
@@ -153,9 +153,9 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t21) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t21;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   lowered core::bool #nonNullableInitializedNonFinalLocal#isSet = false;
@@ -166,18 +166,18 @@
     }
     return #nonNullableInitializedNonFinalLocal{core::int};
   }
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t22) → dynamic {
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic {
     #nonNullableInitializedNonFinalLocal#isSet = true;
-    return #nonNullableInitializedNonFinalLocal = #t22;
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t23 = 0;
+      final core::int? #t11 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t23;
+      #nullableInitializedFinalLocal = #t11;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
@@ -186,48 +186,48 @@
   lowered core::bool #nonNullableInitializedFinalLocal#isSet = false;
   function #nonNullableInitializedFinalLocal#get() → core::int {
     if(!#nonNullableInitializedFinalLocal#isSet) {
-      final core::int #t24 = 0;
+      final core::int #t12 = 0;
       if(#nonNullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nonNullableInitializedFinalLocal");
-      #nonNullableInitializedFinalLocal = #t24;
+      #nonNullableInitializedFinalLocal = #t12;
       #nonNullableInitializedFinalLocal#isSet = true;
     }
     return #nonNullableInitializedFinalLocal{core::int};
   }
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t25 = self::_#uninitializedNonFinalTopLevelField in #t25{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
-static set uninitializedNonFinalTopLevelField(core::int #t26) → void {
+  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t13 = self::_#uninitializedNonFinalTopLevelField in #t13{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void {
   self::_#uninitializedNonFinalTopLevelField#isSet = true;
-  self::_#uninitializedNonFinalTopLevelField = #t26;
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 }
 static get uninitializedFinalTopLevelField() → core::int
-  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t27 = self::_#uninitializedFinalTopLevelField in #t27{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
-static set uninitializedFinalTopLevelField(core::int #t28) → void
+  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t14 = self::_#uninitializedFinalTopLevelField in #t14{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
   else {
     self::_#uninitializedFinalTopLevelField#isSet = true;
-    self::_#uninitializedFinalTopLevelField = #t28;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   }
 static get initializedNonFinalTopLevelField() → core::int {
   if(!self::_#initializedNonFinalTopLevelField#isSet) {
     self::_#initializedNonFinalTopLevelField = 0;
     self::_#initializedNonFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t29 = self::_#initializedNonFinalTopLevelField in #t29{core::int};
+  return let final core::int? #t15 = self::_#initializedNonFinalTopLevelField in #t15{core::int};
 }
-static set initializedNonFinalTopLevelField(core::int #t30) → void {
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void {
   self::_#initializedNonFinalTopLevelField#isSet = true;
-  self::_#initializedNonFinalTopLevelField = #t30;
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 }
 static get initializedFinalTopLevelField() → core::int {
   if(!self::_#initializedFinalTopLevelField#isSet) {
-    final core::int #t31 = 0;
+    final core::int #t16 = 0;
     if(self::_#initializedFinalTopLevelField#isSet)
       throw new _in::LateError::fieldADI("initializedFinalTopLevelField");
-    self::_#initializedFinalTopLevelField = #t31;
+    self::_#initializedFinalTopLevelField = #t16;
     self::_#initializedFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t32 = self::_#initializedFinalTopLevelField in #t32{core::int};
+  return let final core::int? #t17 = self::_#initializedFinalTopLevelField in #t17{core::int};
 }
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.outline.expect
index 45633bf..36bd60c 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.outline.expect
@@ -22,18 +22,18 @@
   synthetic constructor •() → self::Class
     ;
   static get uninitializedNonFinalStaticField() → core::int;
-  static set uninitializedNonFinalStaticField(core::int #t1) → void;
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void;
   static get uninitializedFinalStaticField() → core::int;
-  static set uninitializedFinalStaticField(core::int #t2) → void;
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void;
   static get initializedNonFinalStaticField() → core::int;
-  static set initializedNonFinalStaticField(core::int #t3) → void;
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void;
   static get initializedFinalStaticField() → core::int;
   get uninitializedNonFinalInstanceField() → core::int;
-  set uninitializedNonFinalInstanceField(core::int #t4) → void;
+  set uninitializedNonFinalInstanceField(core::int uninitializedNonFinalInstanceField#param) → void;
   get uninitializedFinalInstanceField() → core::int;
-  set uninitializedFinalInstanceField(core::int #t5) → void;
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void;
   get initializedNonFinalInstanceField() → core::int;
-  set initializedNonFinalInstanceField(core::int #t6) → void;
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void;
   get initializedFinalInstanceField() → core::int;
 }
 static field core::int? _#uninitializedNonFinalTopLevelField;
@@ -49,9 +49,9 @@
 static method method() → dynamic
   ;
 static get uninitializedNonFinalTopLevelField() → core::int;
-static set uninitializedNonFinalTopLevelField(core::int #t7) → void;
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void;
 static get uninitializedFinalTopLevelField() → core::int;
-static set uninitializedFinalTopLevelField(core::int #t8) → void;
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void;
 static get initializedNonFinalTopLevelField() → core::int;
-static set initializedNonFinalTopLevelField(core::int #t9) → void;
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void;
 static get initializedFinalTopLevelField() → core::int;
diff --git a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.transformed.expect
index 4c7909a..c0e43bc 100644
--- a/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_lowering_bitmasks.dart.weak.transformed.expect
@@ -25,75 +25,75 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return self::Class::_#uninitializedNonFinalStaticField#isSet ?{core::int} let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField");
-  static set uninitializedNonFinalStaticField(core::int #t2) → void {
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void {
     self::Class::_#uninitializedNonFinalStaticField#isSet = true;
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   }
   static get uninitializedFinalStaticField() → core::int
-    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField#isSet)
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
     else {
       self::Class::_#uninitializedFinalStaticField#isSet = true;
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     }
   static get initializedNonFinalStaticField() → core::int {
     if(!self::Class::_#initializedNonFinalStaticField#isSet) {
       self::Class::_#initializedNonFinalStaticField = 0;
       self::Class::_#initializedNonFinalStaticField#isSet = true;
     }
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5{core::int};
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3{core::int};
   }
-  static set initializedNonFinalStaticField(core::int #t6) → void {
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void {
     self::Class::_#initializedNonFinalStaticField#isSet = true;
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   }
   static get initializedFinalStaticField() → core::int {
     if(!self::Class::_#initializedFinalStaticField#isSet) {
-      final core::int #t7 = 0;
+      final core::int #t4 = 0;
       if(self::Class::_#initializedFinalStaticField#isSet)
         throw new _in::LateError::fieldADI("initializedFinalStaticField");
-      self::Class::_#initializedFinalStaticField = #t7;
+      self::Class::_#initializedFinalStaticField = #t4;
       self::Class::_#initializedFinalStaticField#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#initializedFinalStaticField in #t8{core::int};
+    return let final core::int? #t5 = self::Class::_#initializedFinalStaticField in #t5{core::int};
   }
   get uninitializedNonFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField");
-  set uninitializedNonFinalInstanceField(core::int #t10) → void {
+    return this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::Class::_#Class#uninitializedNonFinalInstanceField}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalInstanceField");
+  set uninitializedNonFinalInstanceField(core::int uninitializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#uninitializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = #t10;
+    this.{self::Class::_#Class#uninitializedNonFinalInstanceField} = uninitializedNonFinalInstanceField#param;
   }
   get uninitializedFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t11 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t11{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
-  set uninitializedFinalInstanceField(core::int #t12) → void
+    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
     else {
       this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet} = true;
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t12;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     }
   get initializedNonFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet}{core::bool}) {
       this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0;
       this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t13 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t13{core::int};
+    return let final core::int? #t8 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t8{core::int};
   }
-  set initializedNonFinalInstanceField(core::int #t14) → void {
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t14;
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   }
   get initializedFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool}) {
-      final core::int #t15 = 0;
+      final core::int #t9 = 0;
       if(this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool})
         throw new _in::LateError::fieldADI("initializedFinalInstanceField");
-      this.{self::Class::_#Class#initializedFinalInstanceField} = #t15;
+      this.{self::Class::_#Class#initializedFinalInstanceField} = #t9;
       this.{self::Class::_#Class#initializedFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t16 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t16{core::int};
+    return let final core::int? #t10 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t10{core::int};
   }
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
@@ -110,39 +110,39 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t17) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t17;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   lowered core::bool #nonNullableUninitializedNonFinalLocal#isSet = false;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
     return #nonNullableUninitializedNonFinalLocal#isSet ?{core::int} #nonNullableUninitializedNonFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal");
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t18) → dynamic {
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic {
     #nonNullableUninitializedNonFinalLocal#isSet = true;
-    return #nonNullableUninitializedNonFinalLocal = #t18;
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t19) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t19;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   lowered core::bool #nonNullableUninitializedFinalLocal#isSet = false;
   function #nonNullableUninitializedFinalLocal#get() → core::int
     return #nonNullableUninitializedFinalLocal#isSet ?{core::int} #nonNullableUninitializedFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal");
-  function #nonNullableUninitializedFinalLocal#set(core::int #t20) → dynamic
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
     else {
       #nonNullableUninitializedFinalLocal#isSet = true;
-      return #nonNullableUninitializedFinalLocal = #t20;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     }
   lowered core::int? #nullableInitializedNonFinalLocal;
   lowered core::bool #nullableInitializedNonFinalLocal#isSet = false;
@@ -153,9 +153,9 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t21) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t21;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   lowered core::bool #nonNullableInitializedNonFinalLocal#isSet = false;
@@ -166,18 +166,18 @@
     }
     return #nonNullableInitializedNonFinalLocal{core::int};
   }
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t22) → dynamic {
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic {
     #nonNullableInitializedNonFinalLocal#isSet = true;
-    return #nonNullableInitializedNonFinalLocal = #t22;
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t23 = 0;
+      final core::int? #t11 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t23;
+      #nullableInitializedFinalLocal = #t11;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
@@ -186,48 +186,48 @@
   lowered core::bool #nonNullableInitializedFinalLocal#isSet = false;
   function #nonNullableInitializedFinalLocal#get() → core::int {
     if(!#nonNullableInitializedFinalLocal#isSet) {
-      final core::int #t24 = 0;
+      final core::int #t12 = 0;
       if(#nonNullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nonNullableInitializedFinalLocal");
-      #nonNullableInitializedFinalLocal = #t24;
+      #nonNullableInitializedFinalLocal = #t12;
       #nonNullableInitializedFinalLocal#isSet = true;
     }
     return #nonNullableInitializedFinalLocal{core::int};
   }
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t25 = self::_#uninitializedNonFinalTopLevelField in #t25{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
-static set uninitializedNonFinalTopLevelField(core::int #t26) → void {
+  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t13 = self::_#uninitializedNonFinalTopLevelField in #t13{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void {
   self::_#uninitializedNonFinalTopLevelField#isSet = true;
-  self::_#uninitializedNonFinalTopLevelField = #t26;
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 }
 static get uninitializedFinalTopLevelField() → core::int
-  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t27 = self::_#uninitializedFinalTopLevelField in #t27{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
-static set uninitializedFinalTopLevelField(core::int #t28) → void
+  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t14 = self::_#uninitializedFinalTopLevelField in #t14{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
   else {
     self::_#uninitializedFinalTopLevelField#isSet = true;
-    self::_#uninitializedFinalTopLevelField = #t28;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   }
 static get initializedNonFinalTopLevelField() → core::int {
   if(!self::_#initializedNonFinalTopLevelField#isSet) {
     self::_#initializedNonFinalTopLevelField = 0;
     self::_#initializedNonFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t29 = self::_#initializedNonFinalTopLevelField in #t29{core::int};
+  return let final core::int? #t15 = self::_#initializedNonFinalTopLevelField in #t15{core::int};
 }
-static set initializedNonFinalTopLevelField(core::int #t30) → void {
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void {
   self::_#initializedNonFinalTopLevelField#isSet = true;
-  self::_#initializedNonFinalTopLevelField = #t30;
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 }
 static get initializedFinalTopLevelField() → core::int {
   if(!self::_#initializedFinalTopLevelField#isSet) {
-    final core::int #t31 = 0;
+    final core::int #t16 = 0;
     if(self::_#initializedFinalTopLevelField#isSet)
       throw new _in::LateError::fieldADI("initializedFinalTopLevelField");
-    self::_#initializedFinalTopLevelField = #t31;
+    self::_#initializedFinalTopLevelField = #t16;
     self::_#initializedFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t32 = self::_#initializedFinalTopLevelField in #t32{core::int};
+  return let final core::int? #t17 = self::_#initializedFinalTopLevelField in #t17{core::int};
 }
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect
index a743497..6af11b6 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.expect
@@ -24,9 +24,9 @@
     }
     return self::Class::_#lateStaticField1;
   }
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static method lateStaticField2Init() → core::int?
     return 42;
@@ -37,9 +37,9 @@
     }
     return self::Class::_#lateStaticField2;
   }
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -55,9 +55,9 @@
     }
     return this.{self::Class::_#Class#lateInstanceField}{core::int?};
   }
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   method lateGenericInstanceFieldInit() → self::Class::T?
     return this.{self::Class::field}{self::Class::T?};
@@ -68,9 +68,9 @@
     }
     return this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?};
   }
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
@@ -109,9 +109,9 @@
   }
   return self::_#lateTopLevelField1;
 }
-static set lateTopLevelField1(core::int? #t5) → void {
+static set lateTopLevelField1(core::int? lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t5;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static method Extension|lateExtensionField1Init() → core::int?
   return 87;
@@ -122,9 +122,9 @@
   }
   return self::_#Extension|lateExtensionField1;
 }
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static method Extension|lateExtensionField2Init() → core::int?
   return 42;
@@ -135,9 +135,9 @@
   }
   return self::_#Extension|lateExtensionField2;
 }
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect
index a743497..6af11b6 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.strong.transformed.expect
@@ -24,9 +24,9 @@
     }
     return self::Class::_#lateStaticField1;
   }
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static method lateStaticField2Init() → core::int?
     return 42;
@@ -37,9 +37,9 @@
     }
     return self::Class::_#lateStaticField2;
   }
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -55,9 +55,9 @@
     }
     return this.{self::Class::_#Class#lateInstanceField}{core::int?};
   }
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   method lateGenericInstanceFieldInit() → self::Class::T?
     return this.{self::Class::field}{self::Class::T?};
@@ -68,9 +68,9 @@
     }
     return this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?};
   }
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
@@ -109,9 +109,9 @@
   }
   return self::_#lateTopLevelField1;
 }
-static set lateTopLevelField1(core::int? #t5) → void {
+static set lateTopLevelField1(core::int? lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t5;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static method Extension|lateExtensionField1Init() → core::int?
   return 87;
@@ -122,9 +122,9 @@
   }
   return self::_#Extension|lateExtensionField1;
 }
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static method Extension|lateExtensionField2Init() → core::int?
   return 42;
@@ -135,9 +135,9 @@
   }
   return self::_#Extension|lateExtensionField2;
 }
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect
index a743497..6af11b6 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.expect
@@ -24,9 +24,9 @@
     }
     return self::Class::_#lateStaticField1;
   }
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static method lateStaticField2Init() → core::int?
     return 42;
@@ -37,9 +37,9 @@
     }
     return self::Class::_#lateStaticField2;
   }
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -55,9 +55,9 @@
     }
     return this.{self::Class::_#Class#lateInstanceField}{core::int?};
   }
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   method lateGenericInstanceFieldInit() → self::Class::T?
     return this.{self::Class::field}{self::Class::T?};
@@ -68,9 +68,9 @@
     }
     return this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?};
   }
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
@@ -109,9 +109,9 @@
   }
   return self::_#lateTopLevelField1;
 }
-static set lateTopLevelField1(core::int? #t5) → void {
+static set lateTopLevelField1(core::int? lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t5;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static method Extension|lateExtensionField1Init() → core::int?
   return 87;
@@ -122,9 +122,9 @@
   }
   return self::_#Extension|lateExtensionField1;
 }
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static method Extension|lateExtensionField2Init() → core::int?
   return 42;
@@ -135,9 +135,9 @@
   }
   return self::_#Extension|lateExtensionField2;
 }
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.modular.expect
index a743497..6af11b6 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.modular.expect
@@ -24,9 +24,9 @@
     }
     return self::Class::_#lateStaticField1;
   }
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static method lateStaticField2Init() → core::int?
     return 42;
@@ -37,9 +37,9 @@
     }
     return self::Class::_#lateStaticField2;
   }
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -55,9 +55,9 @@
     }
     return this.{self::Class::_#Class#lateInstanceField}{core::int?};
   }
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   method lateGenericInstanceFieldInit() → self::Class::T?
     return this.{self::Class::field}{self::Class::T?};
@@ -68,9 +68,9 @@
     }
     return this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?};
   }
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
@@ -109,9 +109,9 @@
   }
   return self::_#lateTopLevelField1;
 }
-static set lateTopLevelField1(core::int? #t5) → void {
+static set lateTopLevelField1(core::int? lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t5;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static method Extension|lateExtensionField1Init() → core::int?
   return 87;
@@ -122,9 +122,9 @@
   }
   return self::_#Extension|lateExtensionField1;
 }
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static method Extension|lateExtensionField2Init() → core::int?
   return 42;
@@ -135,9 +135,9 @@
   }
   return self::_#Extension|lateExtensionField2;
 }
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.outline.expect
index bf54c39..c2d9df2 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.outline.expect
@@ -17,21 +17,21 @@
   static method lateStaticField1Init() → core::int?
     ;
   static get lateStaticField1() → core::int?;
-  static set lateStaticField1(core::int? #t1) → void;
+  static set lateStaticField1(core::int? lateStaticField1#param) → void;
   static method lateStaticField2Init() → core::int?
     ;
   static get lateStaticField2() → core::int?;
-  static set lateStaticField2(core::int? #t2) → void;
+  static set lateStaticField2(core::int? lateStaticField2#param) → void;
   static method staticMethod() → dynamic
     ;
   method lateInstanceFieldInit() → core::int?
     ;
   get lateInstanceField() → core::int?;
-  set lateInstanceField(core::int? #t3) → void;
+  set lateInstanceField(core::int? lateInstanceField#param) → void;
   method lateGenericInstanceFieldInit() → self::Class::T?
     ;
   get lateGenericInstanceField() → self::Class::T?;
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void;
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void;
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic
     ;
 }
@@ -57,15 +57,15 @@
 static method lateTopLevelField1Init() → core::int?
   ;
 static get lateTopLevelField1() → core::int?;
-static set lateTopLevelField1(core::int? #t5) → void;
+static set lateTopLevelField1(core::int? lateTopLevelField1#param) → void;
 static method Extension|lateExtensionField1Init() → core::int?
   ;
 static get Extension|lateExtensionField1() → core::int?;
-static set Extension|lateExtensionField1(core::int? #t6) → void;
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void;
 static method Extension|lateExtensionField2Init() → core::int?
   ;
 static get Extension|lateExtensionField2() → core::int?;
-static set Extension|lateExtensionField2(core::int? #t7) → void;
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void;
 static method Extension|staticMethod() → dynamic
   ;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect
index a743497..6af11b6 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_with_initializer.dart.weak.transformed.expect
@@ -24,9 +24,9 @@
     }
     return self::Class::_#lateStaticField1;
   }
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static method lateStaticField2Init() → core::int?
     return 42;
@@ -37,9 +37,9 @@
     }
     return self::Class::_#lateStaticField2;
   }
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::expect(42, self::Class::lateStaticField2);
@@ -55,9 +55,9 @@
     }
     return this.{self::Class::_#Class#lateInstanceField}{core::int?};
   }
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   method lateGenericInstanceFieldInit() → self::Class::T?
     return this.{self::Class::field}{self::Class::T?};
@@ -68,9 +68,9 @@
     }
     return this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?};
   }
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::expect(16, this.{self::Class::lateInstanceField}{core::int?});
@@ -109,9 +109,9 @@
   }
   return self::_#lateTopLevelField1;
 }
-static set lateTopLevelField1(core::int? #t5) → void {
+static set lateTopLevelField1(core::int? lateTopLevelField1#param) → void {
   self::_#lateTopLevelField1#isSet = true;
-  self::_#lateTopLevelField1 = #t5;
+  self::_#lateTopLevelField1 = lateTopLevelField1#param;
 }
 static method Extension|lateExtensionField1Init() → core::int?
   return 87;
@@ -122,9 +122,9 @@
   }
   return self::_#Extension|lateExtensionField1;
 }
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static method Extension|lateExtensionField2Init() → core::int?
   return 42;
@@ -135,9 +135,9 @@
   }
   return self::_#Extension|lateExtensionField2;
 }
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::expect(42, self::Extension|lateExtensionField2);
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect
index 91ed9ea..e2d2b39 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -34,15 +34,15 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -72,21 +72,21 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void {
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t5;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect
index 91ed9ea..e2d2b39 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.strong.transformed.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -34,15 +34,15 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -72,21 +72,21 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void {
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t5;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect
index 91ed9ea..e2d2b39 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -34,15 +34,15 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -72,21 +72,21 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void {
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t5;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.modular.expect
index 91ed9ea..e2d2b39 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.modular.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -34,15 +34,15 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -72,21 +72,21 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void {
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t5;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.outline.expect
index f234077..daef161 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.outline.expect
@@ -14,15 +14,15 @@
   synthetic constructor •() → self::Class<self::Class::T%>
     ;
   static get lateStaticField1() → core::int?;
-  static set lateStaticField1(core::int? #t1) → void;
+  static set lateStaticField1(core::int? lateStaticField1#param) → void;
   static get lateStaticField2() → core::int?;
-  static set lateStaticField2(core::int? #t2) → void;
+  static set lateStaticField2(core::int? lateStaticField2#param) → void;
   static method staticMethod() → dynamic
     ;
   get lateInstanceField() → core::int?;
-  set lateInstanceField(core::int? #t3) → void;
+  set lateInstanceField(core::int? lateInstanceField#param) → void;
   get lateGenericInstanceField() → self::Class::T?;
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void;
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void;
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic
     ;
 }
@@ -44,11 +44,11 @@
 static field core::int? _#Extension|lateExtensionField2;
 static field core::bool _#Extension|lateExtensionField2#isSet;
 static get lateTopLevelField() → core::int?;
-static set lateTopLevelField(core::int? #t5) → void;
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void;
 static get Extension|lateExtensionField1() → core::int?;
-static set Extension|lateExtensionField1(core::int? #t6) → void;
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void;
 static get Extension|lateExtensionField2() → core::int?;
-static set Extension|lateExtensionField2(core::int? #t7) → void;
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void;
 static method Extension|staticMethod() → dynamic
   ;
 static method main() → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect
index 91ed9ea..e2d2b39 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_field_without_initializer.dart.weak.transformed.expect
@@ -17,15 +17,15 @@
     ;
   static get lateStaticField1() → core::int?
     return self::Class::_#lateStaticField1#isSet ?{core::int?} self::Class::_#lateStaticField1 : throw new _in::LateError::fieldNI("lateStaticField1");
-  static set lateStaticField1(core::int? #t1) → void {
+  static set lateStaticField1(core::int? lateStaticField1#param) → void {
     self::Class::_#lateStaticField1#isSet = true;
-    self::Class::_#lateStaticField1 = #t1;
+    self::Class::_#lateStaticField1 = lateStaticField1#param;
   }
   static get lateStaticField2() → core::int?
     return self::Class::_#lateStaticField2#isSet ?{core::int?} self::Class::_#lateStaticField2 : throw new _in::LateError::fieldNI("lateStaticField2");
-  static set lateStaticField2(core::int? #t2) → void {
+  static set lateStaticField2(core::int? lateStaticField2#param) → void {
     self::Class::_#lateStaticField2#isSet = true;
-    self::Class::_#lateStaticField2 = #t2;
+    self::Class::_#lateStaticField2 = lateStaticField2#param;
   }
   static method staticMethod() → dynamic {
     self::throws(() → core::int? => self::Class::lateStaticField2, "Read value from uninitialized Class.lateStaticField2");
@@ -34,15 +34,15 @@
   }
   get lateInstanceField() → core::int?
     return this.{self::Class::_#Class#lateInstanceField#isSet}{core::bool} ?{core::int?} this.{self::Class::_#Class#lateInstanceField}{core::int?} : throw new _in::LateError::fieldNI("lateInstanceField");
-  set lateInstanceField(core::int? #t3) → void {
+  set lateInstanceField(core::int? lateInstanceField#param) → void {
     this.{self::Class::_#Class#lateInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateInstanceField} = #t3;
+    this.{self::Class::_#Class#lateInstanceField} = lateInstanceField#param;
   }
   get lateGenericInstanceField() → self::Class::T?
     return this.{self::Class::_#Class#lateGenericInstanceField#isSet}{core::bool} ?{self::Class::T?} this.{self::Class::_#Class#lateGenericInstanceField}{self::Class::T?} : throw new _in::LateError::fieldNI("lateGenericInstanceField");
-  set lateGenericInstanceField(covariant-by-class self::Class::T? #t4) → void {
+  set lateGenericInstanceField(covariant-by-class self::Class::T? lateGenericInstanceField#param) → void {
     this.{self::Class::_#Class#lateGenericInstanceField#isSet} = true;
-    this.{self::Class::_#Class#lateGenericInstanceField} = #t4;
+    this.{self::Class::_#Class#lateGenericInstanceField} = lateGenericInstanceField#param;
   }
   method instanceMethod(covariant-by-class self::Class::T? value) → dynamic {
     self::throws(() → core::int? => this.{self::Class::lateInstanceField}{core::int?}, "Read value from uninitialized Class.lateInstanceField");
@@ -72,21 +72,21 @@
 static field core::bool _#Extension|lateExtensionField2#isSet = false;
 static get lateTopLevelField() → core::int?
   return self::_#lateTopLevelField#isSet ?{core::int?} self::_#lateTopLevelField : throw new _in::LateError::fieldNI("lateTopLevelField");
-static set lateTopLevelField(core::int? #t5) → void {
+static set lateTopLevelField(core::int? lateTopLevelField#param) → void {
   self::_#lateTopLevelField#isSet = true;
-  self::_#lateTopLevelField = #t5;
+  self::_#lateTopLevelField = lateTopLevelField#param;
 }
 static get Extension|lateExtensionField1() → core::int?
   return self::_#Extension|lateExtensionField1#isSet ?{core::int?} self::_#Extension|lateExtensionField1 : throw new _in::LateError::fieldNI("lateExtensionField1");
-static set Extension|lateExtensionField1(core::int? #t6) → void {
+static set Extension|lateExtensionField1(core::int? Extension|lateExtensionField1#param) → void {
   self::_#Extension|lateExtensionField1#isSet = true;
-  self::_#Extension|lateExtensionField1 = #t6;
+  self::_#Extension|lateExtensionField1 = Extension|lateExtensionField1#param;
 }
 static get Extension|lateExtensionField2() → core::int?
   return self::_#Extension|lateExtensionField2#isSet ?{core::int?} self::_#Extension|lateExtensionField2 : throw new _in::LateError::fieldNI("lateExtensionField2");
-static set Extension|lateExtensionField2(core::int? #t7) → void {
+static set Extension|lateExtensionField2(core::int? Extension|lateExtensionField2#param) → void {
   self::_#Extension|lateExtensionField2#isSet = true;
-  self::_#Extension|lateExtensionField2 = #t7;
+  self::_#Extension|lateExtensionField2 = Extension|lateExtensionField2#param;
 }
 static method Extension|staticMethod() → dynamic {
   self::throws(() → core::int? => self::Extension|lateExtensionField2, "Read value from uninitialized Class.lateExtensionField2");
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect
index a150002..a6e67a5 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.expect
@@ -14,9 +14,9 @@
     }
     return #lateLocal;
   }
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int?});
   self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
@@ -31,9 +31,9 @@
       }
       return #lateGenericLocal;
     }
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T?});
     self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect
index a150002..a6e67a5 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.strong.transformed.expect
@@ -14,9 +14,9 @@
     }
     return #lateLocal;
   }
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int?});
   self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
@@ -31,9 +31,9 @@
       }
       return #lateGenericLocal;
     }
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T?});
     self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect
index a150002..a6e67a5 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.expect
@@ -14,9 +14,9 @@
     }
     return #lateLocal;
   }
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int?});
   self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
@@ -31,9 +31,9 @@
       }
       return #lateGenericLocal;
     }
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T?});
     self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.modular.expect
index a150002..a6e67a5 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.modular.expect
@@ -14,9 +14,9 @@
     }
     return #lateLocal;
   }
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int?});
   self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
@@ -31,9 +31,9 @@
       }
       return #lateGenericLocal;
     }
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T?});
     self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect
index a150002..a6e67a5 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_with_initializer.dart.weak.transformed.expect
@@ -14,9 +14,9 @@
     }
     return #lateLocal;
   }
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::expect(123, #lateLocal#get(){() → core::int?});
   self::expect(124, #lateLocal#set(124){(core::int?) → dynamic});
@@ -31,9 +31,9 @@
       }
       return #lateGenericLocal;
     }
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::expect(value1, #lateGenericLocal#get(){() → T?});
     self::expect(value2, #lateGenericLocal#set(value2){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect
index 133710a..448e782 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect
index 133710a..448e782 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.strong.transformed.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect
index 133710a..448e782 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.modular.expect
index 133710a..448e782 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.modular.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect
index 133710a..448e782 100644
--- a/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_nullable_local_without_initializer.dart.weak.transformed.expect
@@ -8,9 +8,9 @@
   lowered core::bool #lateLocal#isSet = false;
   function #lateLocal#get() → core::int?
     return #lateLocal#isSet ?{core::int?} #lateLocal : throw new _in::LateError::localNI("lateLocal");
-  function #lateLocal#set(core::int? #t1) → dynamic {
+  function #lateLocal#set(core::int? lateLocal#param) → dynamic {
     #lateLocal#isSet = true;
-    return #lateLocal = #t1;
+    return #lateLocal = lateLocal#param;
   }
   self::throws(() → core::int? => #lateLocal#get(){() → core::int?}, "Read value from uninitialized lateLocal");
   self::expect(123, #lateLocal#set(123){(core::int?) → dynamic});
@@ -20,9 +20,9 @@
     lowered core::bool #lateGenericLocal#isSet = false;
     function #lateGenericLocal#get() → T?
       return #lateGenericLocal#isSet ?{T?} #lateGenericLocal : throw new _in::LateError::localNI("lateGenericLocal");
-    function #lateGenericLocal#set(T? #t2) → dynamic {
+    function #lateGenericLocal#set(T? lateGenericLocal#param) → dynamic {
       #lateGenericLocal#isSet = true;
-      return #lateGenericLocal = #t2;
+      return #lateGenericLocal = lateGenericLocal#param;
     }
     self::throws(() → T? => #lateGenericLocal#get(){() → T?}, "Read value from uninitialized lateGenericLocal");
     self::expect(value, #lateGenericLocal#set(value){(T?) → dynamic});
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect
index cc41c15..e572bcb 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.expect
@@ -10,8 +10,8 @@
     ;
   get implementedLateFieldDeclaredGetterSetter() → core::int
     return let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter") : #t1{core::int};
-  set implementedLateFieldDeclaredGetterSetter(core::int #t2) → void
-    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = #t2;
+  set implementedLateFieldDeclaredGetterSetter(core::int implementedLateFieldDeclaredGetterSetter#param) → void
+    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = implementedLateFieldDeclaredGetterSetter#param;
 }
 class Class extends core::Object implements self::Interface {
   synthetic constructor •() → self::Class
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect
index cc41c15..e572bcb 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.strong.transformed.expect
@@ -10,8 +10,8 @@
     ;
   get implementedLateFieldDeclaredGetterSetter() → core::int
     return let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter") : #t1{core::int};
-  set implementedLateFieldDeclaredGetterSetter(core::int #t2) → void
-    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = #t2;
+  set implementedLateFieldDeclaredGetterSetter(core::int implementedLateFieldDeclaredGetterSetter#param) → void
+    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = implementedLateFieldDeclaredGetterSetter#param;
 }
 class Class extends core::Object implements self::Interface {
   synthetic constructor •() → self::Class
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.expect
index bb99080..4790393 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.expect
@@ -11,9 +11,9 @@
     ;
   get implementedLateFieldDeclaredGetterSetter() → core::int
     return this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter");
-  set implementedLateFieldDeclaredGetterSetter(core::int #t2) → void {
+  set implementedLateFieldDeclaredGetterSetter(core::int implementedLateFieldDeclaredGetterSetter#param) → void {
     this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter#isSet} = true;
-    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = #t2;
+    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = implementedLateFieldDeclaredGetterSetter#param;
   }
 }
 class Class extends core::Object implements self::Interface {
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.modular.expect
index bb99080..4790393 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.modular.expect
@@ -11,9 +11,9 @@
     ;
   get implementedLateFieldDeclaredGetterSetter() → core::int
     return this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter");
-  set implementedLateFieldDeclaredGetterSetter(core::int #t2) → void {
+  set implementedLateFieldDeclaredGetterSetter(core::int implementedLateFieldDeclaredGetterSetter#param) → void {
     this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter#isSet} = true;
-    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = #t2;
+    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = implementedLateFieldDeclaredGetterSetter#param;
   }
 }
 class Class extends core::Object implements self::Interface {
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.outline.expect
index 8d37f5d..fd5e6db 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.outline.expect
@@ -8,7 +8,7 @@
   synthetic constructor •() → self::Interface
     ;
   get implementedLateFieldDeclaredGetterSetter() → core::int;
-  set implementedLateFieldDeclaredGetterSetter(core::int #t1) → void;
+  set implementedLateFieldDeclaredGetterSetter(core::int implementedLateFieldDeclaredGetterSetter#param) → void;
 }
 class Class extends core::Object implements self::Interface {
   synthetic constructor •() → self::Class
diff --git a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.transformed.expect
index bb99080..4790393 100644
--- a/pkg/front_end/testcases/late_lowering/late_override.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/late_override.dart.weak.transformed.expect
@@ -11,9 +11,9 @@
     ;
   get implementedLateFieldDeclaredGetterSetter() → core::int
     return this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("implementedLateFieldDeclaredGetterSetter");
-  set implementedLateFieldDeclaredGetterSetter(core::int #t2) → void {
+  set implementedLateFieldDeclaredGetterSetter(core::int implementedLateFieldDeclaredGetterSetter#param) → void {
     this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter#isSet} = true;
-    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = #t2;
+    this.{self::Interface::_#Interface#implementedLateFieldDeclaredGetterSetter} = implementedLateFieldDeclaredGetterSetter#param;
   }
 }
 class Class extends core::Object implements self::Interface {
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.strong.expect b/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
index 20030f2..dac68ea 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.strong.expect
@@ -75,8 +75,8 @@
     ;
   get b() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#b}{core::int?} in #t1 == null ?{core::int} this.{self::A::_#A#b} = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int} : #t1{core::int};
-  set b(core::int #t2) → void
-    this.{self::A::_#A#b} = #t2;
+  set b(core::int b#param) → void
+    this.{self::A::_#A#b} = b#param;
   method foo(core::int x) → dynamic {}
 }
 class B extends core::Object /*hasConstConstructor*/  {
@@ -85,7 +85,7 @@
     : super core::Object::•()
     ;
   get x() → core::int
-    return let final core::int? #t3 = this.{self::B::_#B#x}{core::int?} in #t3 == null ?{core::int} let final core::int #t4 = 42 in this.{self::B::_#B#x}{core::int?} == null ?{core::int} this.{self::B::_#B#x} = #t4 : throw new _in::LateError::fieldADI("x") : #t3{core::int};
+    return let final core::int? #t2 = this.{self::B::_#B#x}{core::int?} in #t2 == null ?{core::int} let final core::int #t3 = 42 in this.{self::B::_#B#x}{core::int?} == null ?{core::int} this.{self::B::_#B#x} = #t3 : throw new _in::LateError::fieldADI("x") : #t2{core::int};
 }
 class C extends core::Object {
   field core::int? _#C#x = null;
@@ -93,10 +93,10 @@
     : super core::Object::•()
     ;
   get x() → core::int
-    return let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t5{core::int};
-  set x(core::int #t6) → void
+    return let final core::int? #t4 = this.{self::C::_#C#x}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t4{core::int};
+  set x(core::int x#param) → void
     if(this.{self::C::_#C#x}{core::int?} == null)
-      this.{self::C::_#C#x} = #t6;
+      this.{self::C::_#C#x} = x#param;
     else
       throw new _in::LateError::fieldAI("x");
   method initVars() → dynamic {
@@ -125,10 +125,10 @@
     core::print(s);
   }
   block {
-    final core::List<core::int> #t7 = <core::int>[];
+    final core::List<core::int> #t5 = <core::int>[];
     for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t7.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t7;
+      #t5.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t5;
 }
 static method hest() → dynamic async {
   await for (core::String s in asy::Stream::fromIterable<core::String>(<core::String>["hest"])) {
@@ -139,23 +139,23 @@
 static method fisk() → dynamic async {
   lowered core::String? #s1;
   function #s1#get() → core::String
-    return let final core::String? #t8 = #s1 in #t8 == null ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
+    return let final core::String? #t6 = #s1 in #t6 == null ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
   late String s1 = await hest(); // Error.
-                   ^^^^^" : #t8{core::String};
-  function #s1#set(core::String #t9) → dynamic
-    return #s1 = #t9;
+                   ^^^^^" : #t6{core::String};
+  function #s1#set(core::String s1#param) → dynamic
+    return #s1 = s1#param;
   lowered core::String? #s2;
   function #s2#get() → core::String
-    return let final core::String? #t10 = #s2 in #t10 == null ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
+    return let final core::String? #t7 = #s2 in #t7 == null ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
   late String s2 = '\${fisk}\${await hest()}\${fisk}'; // Error.
-                             ^^^^^"}${#C1}" : #t10{core::String};
-  function #s2#set(core::String #t11) → dynamic
-    return #s2 = #t11;
+                             ^^^^^"}${#C1}" : #t7{core::String};
+  function #s2#set(core::String s2#param) → dynamic
+    return #s2 = s2#param;
   lowered core::Function? #f;
   function #f#get() → core::Function
-    return let final core::Function? #t12 = #f in #t12 == null ?{core::Function} #f = () → asy::Future<dynamic> async => await self::hest() : #t12{core::Function};
-  function #f#set(core::Function #t13) → dynamic
-    return #f = #t13;
+    return let final core::Function? #t8 = #f in #t8 == null ?{core::Function} #f = () → asy::Future<dynamic> async => await self::hest() : #t8{core::Function};
+  function #f#set(core::Function f#param) → dynamic
+    return #f = f#param;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
index d009196..079f495 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.strong.transformed.expect
@@ -75,8 +75,8 @@
     ;
   get b() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#b}{core::int?} in #t1 == null ?{core::int} this.{self::A::_#A#b} = this.{self::A::a}{core::int}.{core::num::*}(2){(core::num) → core::int}.{core::int::>>}(1){(core::int) → core::int} : #t1{core::int};
-  set b(core::int #t2) → void
-    this.{self::A::_#A#b} = #t2;
+  set b(core::int b#param) → void
+    this.{self::A::_#A#b} = b#param;
   method foo(core::int x) → dynamic {}
 }
 class B extends core::Object /*hasConstConstructor*/  {
@@ -85,7 +85,7 @@
     : super core::Object::•()
     ;
   get x() → core::int
-    return let final core::int? #t3 = this.{self::B::_#B#x}{core::int?} in #t3 == null ?{core::int} let final core::int #t4 = 42 in this.{self::B::_#B#x}{core::int?} == null ?{core::int} this.{self::B::_#B#x} = #t4 : throw new _in::LateError::fieldADI("x") : #t3{core::int};
+    return let final core::int? #t2 = this.{self::B::_#B#x}{core::int?} in #t2 == null ?{core::int} let final core::int #t3 = 42 in this.{self::B::_#B#x}{core::int?} == null ?{core::int} this.{self::B::_#B#x} = #t3 : throw new _in::LateError::fieldADI("x") : #t2{core::int};
 }
 class C extends core::Object {
   field core::int? _#C#x = null;
@@ -93,10 +93,10 @@
     : super core::Object::•()
     ;
   get x() → core::int
-    return let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t5{core::int};
-  set x(core::int #t6) → void
+    return let final core::int? #t4 = this.{self::C::_#C#x}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t4{core::int};
+  set x(core::int x#param) → void
     if(this.{self::C::_#C#x}{core::int?} == null)
-      this.{self::C::_#C#x} = #t6;
+      this.{self::C::_#C#x} = x#param;
     else
       throw new _in::LateError::fieldAI("x");
   method initVars() → dynamic {
@@ -131,10 +131,10 @@
     }
   }
   block {
-    final core::List<core::int> #t7 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t5 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t7.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t7;
+      #t5.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t5;
 }
 static method hest() → dynamic /* originally async */ {
   final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
@@ -158,8 +158,8 @@
           try
             #L2:
             while (true) {
-              dynamic #t8 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
+              dynamic #t6 = asy::_asyncStarMoveNextHelper(:stream);
+              [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
               if(_in::unsafeCast<core::bool>(:result)) {
                 core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
                 {
@@ -171,7 +171,7 @@
             }
           finally
             if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
-              [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
+              [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
               :result;
             }
         }
@@ -204,21 +204,21 @@
       {
         lowered core::String? #s1;
         function #s1#get() → core::String
-          return let final core::String? #t11 = #s1 in #t11 == null ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
+          return let final core::String? #t9 = #s1 in #t9 == null ?{core::String} #s1 = invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:40:20: Error: `await` expressions are not supported in late local initializers.
   late String s1 = await hest(); // Error.
-                   ^^^^^" : #t11{core::String};
-        function #s1#set(core::String #t12) → dynamic
-          return #s1 = #t12;
+                   ^^^^^" : #t9{core::String};
+        function #s1#set(core::String s1#param) → dynamic
+          return #s1 = s1#param;
         lowered core::String? #s2;
         function #s2#get() → core::String
-          return let final core::String? #t13 = #s2 in #t13 == null ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
+          return let final core::String? #t10 = #s2 in #t10 == null ?{core::String} #s2 = "${#C1}${invalid-expression "pkg/front_end/testcases/late_lowering/later.dart:41:30: Error: `await` expressions are not supported in late local initializers.
   late String s2 = '\${fisk}\${await hest()}\${fisk}'; // Error.
-                             ^^^^^"}${#C1}" : #t13{core::String};
-        function #s2#set(core::String #t14) → dynamic
-          return #s2 = #t14;
+                             ^^^^^"}${#C1}" : #t10{core::String};
+        function #s2#set(core::String s2#param) → dynamic
+          return #s2 = s2#param;
         lowered core::Function? #f;
         function #f#get() → core::Function
-          return let final core::Function? #t15 = #f in #t15 == null ?{core::Function} #f = () → asy::Future<dynamic> /* originally async */ {
+          return let final core::Function? #t11 = #f in #t11 == null ?{core::Function} #f = () → asy::Future<dynamic> /* originally async */ {
             final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
             core::bool* :is_sync = false;
             FutureOr<dynamic>? :return_value;
@@ -231,7 +231,7 @@
               try {
                 #L4:
                 {
-                  [yield] let dynamic #t16 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
+                  [yield] let dynamic #t12 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
                   :return_value = :result;
                   break #L4;
                 }
@@ -246,9 +246,9 @@
             :async_op(){() → dynamic};
             :is_sync = true;
             return :async_future;
-          } : #t15{core::Function};
-        function #f#set(core::Function #t17) → dynamic
-          return #f = #t17;
+          } : #t11{core::Function};
+        function #f#set(core::Function f#param) → dynamic
+          return #f = f#param;
       }
       asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
       return;
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
index a38e25a..74e414d 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.expect
@@ -81,9 +81,9 @@
     }
     return let final core::int? #t1 = this.{self::A::_#A#b}{core::int?} in #t1{core::int};
   }
-  set b(core::int #t2) → void {
+  set b(core::int b#param) → void {
     this.{self::A::_#A#b#isSet} = true;
-    this.{self::A::_#A#b} = #t2;
+    this.{self::A::_#A#b} = b#param;
   }
   method foo(core::int x) → dynamic {}
 }
@@ -95,13 +95,13 @@
     ;
   get x() → core::int {
     if(!this.{self::B::_#B#x#isSet}{core::bool}) {
-      final core::int #t3 = 42;
+      final core::int #t2 = 42;
       if(this.{self::B::_#B#x#isSet}{core::bool})
         throw new _in::LateError::fieldADI("x");
-      this.{self::B::_#B#x} = #t3;
+      this.{self::B::_#B#x} = #t2;
       this.{self::B::_#B#x#isSet} = true;
     }
-    return let final core::int? #t4 = this.{self::B::_#B#x}{core::int?} in #t4{core::int};
+    return let final core::int? #t3 = this.{self::B::_#B#x}{core::int?} in #t3{core::int};
   }
 }
 class C extends core::Object {
@@ -111,13 +111,13 @@
     : super core::Object::•()
     ;
   get x() → core::int
-    return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t6) → void
+    return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::C::_#C#x}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("x");
+  set x(core::int x#param) → void
     if(this.{self::C::_#C#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::C::_#C#x#isSet} = true;
-      this.{self::C::_#C#x} = #t6;
+      this.{self::C::_#C#x} = x#param;
     }
   method initVars() → dynamic {
     this.{self::C::x} = 42;
@@ -145,10 +145,10 @@
     core::print(s);
   }
   block {
-    final core::List<core::int> #t7 = <core::int>[];
+    final core::List<core::int> #t5 = <core::int>[];
     for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t7.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t7;
+      #t5.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t5;
 }
 static method hest() → dynamic async {
   await for (core::String s in asy::Stream::fromIterable<core::String>(<core::String>["hest"])) {
@@ -168,9 +168,9 @@
     }
     return #s1{core::String};
   }
-  function #s1#set(core::String #t8) → dynamic {
+  function #s1#set(core::String s1#param) → dynamic {
     #s1#isSet = true;
-    return #s1 = #t8;
+    return #s1 = s1#param;
   }
   lowered core::String? #s2;
   lowered core::bool #s2#isSet = false;
@@ -183,9 +183,9 @@
     }
     return #s2{core::String};
   }
-  function #s2#set(core::String #t9) → dynamic {
+  function #s2#set(core::String s2#param) → dynamic {
     #s2#isSet = true;
-    return #s2 = #t9;
+    return #s2 = s2#param;
   }
   lowered core::Function? #f;
   lowered core::bool #f#isSet = false;
@@ -196,9 +196,9 @@
     }
     return #f{core::Function};
   }
-  function #f#set(core::Function #t10) → dynamic {
+  function #f#set(core::Function f#param) → dynamic {
     #f#isSet = true;
-    return #f = #t10;
+    return #f = f#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.modular.expect
index a38e25a..74e414d 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.modular.expect
@@ -81,9 +81,9 @@
     }
     return let final core::int? #t1 = this.{self::A::_#A#b}{core::int?} in #t1{core::int};
   }
-  set b(core::int #t2) → void {
+  set b(core::int b#param) → void {
     this.{self::A::_#A#b#isSet} = true;
-    this.{self::A::_#A#b} = #t2;
+    this.{self::A::_#A#b} = b#param;
   }
   method foo(core::int x) → dynamic {}
 }
@@ -95,13 +95,13 @@
     ;
   get x() → core::int {
     if(!this.{self::B::_#B#x#isSet}{core::bool}) {
-      final core::int #t3 = 42;
+      final core::int #t2 = 42;
       if(this.{self::B::_#B#x#isSet}{core::bool})
         throw new _in::LateError::fieldADI("x");
-      this.{self::B::_#B#x} = #t3;
+      this.{self::B::_#B#x} = #t2;
       this.{self::B::_#B#x#isSet} = true;
     }
-    return let final core::int? #t4 = this.{self::B::_#B#x}{core::int?} in #t4{core::int};
+    return let final core::int? #t3 = this.{self::B::_#B#x}{core::int?} in #t3{core::int};
   }
 }
 class C extends core::Object {
@@ -111,13 +111,13 @@
     : super core::Object::•()
     ;
   get x() → core::int
-    return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t6) → void
+    return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::C::_#C#x}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("x");
+  set x(core::int x#param) → void
     if(this.{self::C::_#C#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::C::_#C#x#isSet} = true;
-      this.{self::C::_#C#x} = #t6;
+      this.{self::C::_#C#x} = x#param;
     }
   method initVars() → dynamic {
     this.{self::C::x} = 42;
@@ -145,10 +145,10 @@
     core::print(s);
   }
   block {
-    final core::List<core::int> #t7 = <core::int>[];
+    final core::List<core::int> #t5 = <core::int>[];
     for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t7.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t7;
+      #t5.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t5;
 }
 static method hest() → dynamic async {
   await for (core::String s in asy::Stream::fromIterable<core::String>(<core::String>["hest"])) {
@@ -168,9 +168,9 @@
     }
     return #s1{core::String};
   }
-  function #s1#set(core::String #t8) → dynamic {
+  function #s1#set(core::String s1#param) → dynamic {
     #s1#isSet = true;
-    return #s1 = #t8;
+    return #s1 = s1#param;
   }
   lowered core::String? #s2;
   lowered core::bool #s2#isSet = false;
@@ -183,9 +183,9 @@
     }
     return #s2{core::String};
   }
-  function #s2#set(core::String #t9) → dynamic {
+  function #s2#set(core::String s2#param) → dynamic {
     #s2#isSet = true;
-    return #s2 = #t9;
+    return #s2 = s2#param;
   }
   lowered core::Function? #f;
   lowered core::bool #f#isSet = false;
@@ -196,9 +196,9 @@
     }
     return #f{core::Function};
   }
-  function #f#set(core::Function #t10) → dynamic {
+  function #f#set(core::Function f#param) → dynamic {
     #f#isSet = true;
-    return #f = #t10;
+    return #f = f#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.outline.expect
index 0c2d04f..dd03270 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.outline.expect
@@ -23,7 +23,7 @@
   synthetic constructor •() → self::A
     ;
   get b() → core::int;
-  set b(core::int #t1) → void;
+  set b(core::int b#param) → void;
   method foo(core::int x) → dynamic
     ;
 }
@@ -35,13 +35,13 @@
     ;
   get x() → core::int {
     if(!this.{self::B::_#B#x#isSet}{core::bool}) {
-      final core::int #t2 = 42;
+      final core::int #t1 = 42;
       if(this.{self::B::_#B#x#isSet}{core::bool})
         throw new _in::LateError::fieldADI("x");
-      this.{self::B::_#B#x} = #t2;
+      this.{self::B::_#B#x} = #t1;
       this.{self::B::_#B#x#isSet} = true;
     }
-    return let final core::int? #t3 = this.{self::B::_#B#x}{core::int?} in #t3{core::int};
+    return let final core::int? #t2 = this.{self::B::_#B#x}{core::int?} in #t2{core::int};
   }
 }
 class C extends core::Object {
@@ -50,7 +50,7 @@
   synthetic constructor •() → self::C
     ;
   get x() → core::int;
-  set x(core::int #t4) → void;
+  set x(core::int x#param) → void;
   method initVars() → dynamic
     ;
 }
diff --git a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
index a808b23..c43553e 100644
--- a/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/later.dart.weak.transformed.expect
@@ -81,9 +81,9 @@
     }
     return let final core::int? #t1 = this.{self::A::_#A#b}{core::int?} in #t1{core::int};
   }
-  set b(core::int #t2) → void {
+  set b(core::int b#param) → void {
     this.{self::A::_#A#b#isSet} = true;
-    this.{self::A::_#A#b} = #t2;
+    this.{self::A::_#A#b} = b#param;
   }
   method foo(core::int x) → dynamic {}
 }
@@ -95,13 +95,13 @@
     ;
   get x() → core::int {
     if(!this.{self::B::_#B#x#isSet}{core::bool}) {
-      final core::int #t3 = 42;
+      final core::int #t2 = 42;
       if(this.{self::B::_#B#x#isSet}{core::bool})
         throw new _in::LateError::fieldADI("x");
-      this.{self::B::_#B#x} = #t3;
+      this.{self::B::_#B#x} = #t2;
       this.{self::B::_#B#x#isSet} = true;
     }
-    return let final core::int? #t4 = this.{self::B::_#B#x}{core::int?} in #t4{core::int};
+    return let final core::int? #t3 = this.{self::B::_#B#x}{core::int?} in #t3{core::int};
   }
 }
 class C extends core::Object {
@@ -111,13 +111,13 @@
     : super core::Object::•()
     ;
   get x() → core::int
-    return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t6) → void
+    return this.{self::C::_#C#x#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::C::_#C#x}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("x");
+  set x(core::int x#param) → void
     if(this.{self::C::_#C#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::C::_#C#x#isSet} = true;
-      this.{self::C::_#C#x} = #t6;
+      this.{self::C::_#C#x} = x#param;
     }
   method initVars() → dynamic {
     this.{self::C::x} = 42;
@@ -151,10 +151,10 @@
     }
   }
   block {
-    final core::List<core::int> #t7 = core::_GrowableList::•<core::int>(0);
+    final core::List<core::int> #t5 = core::_GrowableList::•<core::int>(0);
     for (core::int i = 0; i.{core::num::<}(10){(core::num) → core::bool}; i = i.{core::num::+}(1){(core::num) → core::int})
-      #t7.{core::List::add}{Invariant}(i){(core::int) → void};
-  } =>#t7;
+      #t5.{core::List::add}{Invariant}(i){(core::int) → void};
+  } =>#t5;
 }
 static method hest() → dynamic /* originally async */ {
   final asy::_Future<dynamic> :async_future = new asy::_Future::•<dynamic>();
@@ -178,8 +178,8 @@
           try
             #L2:
             while (true) {
-              dynamic #t8 = asy::_asyncStarMoveNextHelper(:stream);
-              [yield] let dynamic #t9 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
+              dynamic #t6 = asy::_asyncStarMoveNextHelper(:stream);
+              [yield] let dynamic #t7 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}, :async_op_then, :async_op_error, :async_op) in null;
               if(_in::unsafeCast<core::bool>(:result)) {
                 core::String s = :for-iterator.{asy::_StreamIterator::current}{core::String};
                 {
@@ -191,7 +191,7 @@
             }
           finally
             if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<core::String>?} == null)) {
-              [yield] let dynamic #t10 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
+              [yield] let dynamic #t8 = asy::_awaitHelper(:for-iterator.{asy::_StreamIterator::cancel}(){() → asy::Future<dynamic>}, :async_op_then, :async_op_error, :async_op) in null;
               :result;
             }
         }
@@ -233,9 +233,9 @@
           }
           return #s1{core::String};
         }
-        function #s1#set(core::String #t11) → dynamic {
+        function #s1#set(core::String s1#param) → dynamic {
           #s1#isSet = true;
-          return #s1 = #t11;
+          return #s1 = s1#param;
         }
         lowered core::String? #s2;
         lowered core::bool #s2#isSet = false;
@@ -248,9 +248,9 @@
           }
           return #s2{core::String};
         }
-        function #s2#set(core::String #t12) → dynamic {
+        function #s2#set(core::String s2#param) → dynamic {
           #s2#isSet = true;
-          return #s2 = #t12;
+          return #s2 = s2#param;
         }
         lowered core::Function? #f;
         lowered core::bool #f#isSet = false;
@@ -269,7 +269,7 @@
                 try {
                   #L4:
                   {
-                    [yield] let dynamic #t13 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
+                    [yield] let dynamic #t9 = asy::_awaitHelper(self::hest(), :async_op_then, :async_op_error, :async_op) in null;
                     :return_value = :result;
                     break #L4;
                   }
@@ -289,9 +289,9 @@
           }
           return #f{core::Function};
         }
-        function #f#set(core::Function #t14) → dynamic {
+        function #f#set(core::Function f#param) → dynamic {
           #f#isSet = true;
-          return #f = #t14;
+          return #f = f#param;
         }
       }
       asy::_completeOnAsyncReturn(:async_future, :return_value, :is_sync);
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect
index 3df87d0..4ae5a1a 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.expect
@@ -56,86 +56,86 @@
     ;
   get instanceField() → core::int
     return let final core::int? #t1 = this.{non::Class::_#Class#instanceField}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
-  set instanceField(core::int #t2) → void
-    this.{non::Class::_#Class#instanceField} = #t2;
+  set instanceField(core::int instanceField#param) → void
+    this.{non::Class::_#Class#instanceField} = instanceField#param;
   get finalInstanceField() → dynamic
     return this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool} ?{dynamic} this.{non::Class::_#Class#finalInstanceField}{dynamic} : throw new _in::LateError::fieldNI("finalInstanceField");
-  set finalInstanceField(dynamic #t3) → void
+  set finalInstanceField(dynamic finalInstanceField#param) → void
     if(this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{non::Class::_#Class#finalInstanceField#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceField} = #t3;
+      this.{non::Class::_#Class#finalInstanceField} = finalInstanceField#param;
     }
   get instanceTypeVariable() → non::Class::T
-    return let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t4 == null ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t4{non::Class::T};
-  set instanceTypeVariable(covariant-by-class non::Class::T #t5) → void
-    this.{non::Class::_#Class#instanceTypeVariable} = #t5;
+    return let final non::Class::T? #t2 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t2 == null ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t2{non::Class::T};
+  set instanceTypeVariable(covariant-by-class non::Class::T instanceTypeVariable#param) → void
+    this.{non::Class::_#Class#instanceTypeVariable} = instanceTypeVariable#param;
   get finalInstanceTypeVariable() → non::Class::T
-    return let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t6 == null ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t6{non::Class::T};
-  set finalInstanceTypeVariable(non::Class::T #t7) → void
+    return let final non::Class::T? #t3 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t3 == null ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t3{non::Class::T};
+  set finalInstanceTypeVariable(non::Class::T finalInstanceTypeVariable#param) → void
     if(this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} == null)
-      this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
+      this.{non::Class::_#Class#finalInstanceTypeVariable} = finalInstanceTypeVariable#param;
     else
       throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
   static get staticField() → core::int
-    return let final core::int? #t8 = non::Class::_#staticField in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t8{core::int};
-  static set staticField(core::int #t9) → void
-    non::Class::_#staticField = #t9;
+    return let final core::int? #t4 = non::Class::_#staticField in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t4{core::int};
+  static set staticField(core::int staticField#param) → void
+    non::Class::_#staticField = staticField#param;
   static get staticFinalField() → dynamic
     return non::Class::_#staticFinalField#isSet ?{dynamic} non::Class::_#staticFinalField : throw new _in::LateError::fieldNI("staticFinalField");
-  static set staticFinalField(dynamic #t10) → void
+  static set staticFinalField(dynamic staticFinalField#param) → void
     if(non::Class::_#staticFinalField#isSet)
       throw new _in::LateError::fieldAI("staticFinalField");
     else {
       non::Class::_#staticFinalField#isSet = true;
-      non::Class::_#staticFinalField = #t10;
+      non::Class::_#staticFinalField = staticFinalField#param;
     }
 }
 static field core::int? _#topLevelField = null;
 static field dynamic _#finalTopLevelField = null;
 static field core::bool _#finalTopLevelField#isSet = false;
 static get topLevelField() → core::int
-  return let final core::int? #t11 = non::_#topLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t11{core::int};
-static set topLevelField(core::int #t12) → void
-  non::_#topLevelField = #t12;
+  return let final core::int? #t5 = non::_#topLevelField in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t5{core::int};
+static set topLevelField(core::int topLevelField#param) → void
+  non::_#topLevelField = topLevelField#param;
 static get finalTopLevelField() → dynamic
   return non::_#finalTopLevelField#isSet ?{dynamic} non::_#finalTopLevelField : throw new _in::LateError::fieldNI("finalTopLevelField");
-static set finalTopLevelField(dynamic #t13) → void
+static set finalTopLevelField(dynamic finalTopLevelField#param) → void
   if(non::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     non::_#finalTopLevelField#isSet = true;
-    non::_#finalTopLevelField = #t13;
+    non::_#finalTopLevelField = finalTopLevelField#param;
   }
 static method method<T extends core::Object>(core::bool b, core::int i, non::method::T t) → dynamic {
   lowered core::int? #local;
   function #local#get() → core::int
-    return let final core::int? #t14 = #local in #t14 == null ?{core::int} throw new _in::LateError::localNI("local") : #t14{core::int};
-  function #local#set(core::int #t15) → dynamic
-    return #local = #t15;
+    return let final core::int? #t6 = #local in #t6 == null ?{core::int} throw new _in::LateError::localNI("local") : #t6{core::int};
+  function #local#set(core::int local#param) → dynamic
+    return #local = local#param;
   lowered final dynamic #finalLocal;
   lowered core::bool #finalLocal#isSet = false;
   function #finalLocal#get() → dynamic
     return #finalLocal#isSet ?{dynamic} #finalLocal : throw new _in::LateError::localNI("finalLocal");
-  function #finalLocal#set(dynamic #t16) → dynamic
+  function #finalLocal#set(dynamic finalLocal#param) → dynamic
     if(#finalLocal#isSet)
       throw new _in::LateError::localAI("finalLocal");
     else {
       #finalLocal#isSet = true;
-      return #finalLocal = #t16;
+      return #finalLocal = finalLocal#param;
     }
   lowered non::method::T? #localTypeVariable;
   function #localTypeVariable#get() → non::method::T
-    return let final non::method::T? #t17 = #localTypeVariable in #t17 == null ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t17{non::method::T};
-  function #localTypeVariable#set(non::method::T #t18) → dynamic
-    return #localTypeVariable = #t18;
+    return let final non::method::T? #t7 = #localTypeVariable in #t7 == null ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t7{non::method::T};
+  function #localTypeVariable#set(non::method::T localTypeVariable#param) → dynamic
+    return #localTypeVariable = localTypeVariable#param;
   lowered final non::method::T? #finalLocalTypeVariable;
   function #finalLocalTypeVariable#get() → non::method::T
-    return let final non::method::T? #t19 = #finalLocalTypeVariable in #t19 == null ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t19{non::method::T};
-  function #finalLocalTypeVariable#set(non::method::T #t20) → dynamic
+    return let final non::method::T? #t8 = #finalLocalTypeVariable in #t8 == null ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t8{non::method::T};
+  function #finalLocalTypeVariable#set(non::method::T finalLocalTypeVariable#param) → dynamic
     if(#finalLocalTypeVariable == null)
-      return #finalLocalTypeVariable = #t20;
+      return #finalLocalTypeVariable = finalLocalTypeVariable#param;
     else
       throw new _in::LateError::localAI("finalLocalTypeVariable");
   if(b) {
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect
index 3df87d0..4ae5a1a 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.strong.transformed.expect
@@ -56,86 +56,86 @@
     ;
   get instanceField() → core::int
     return let final core::int? #t1 = this.{non::Class::_#Class#instanceField}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("instanceField") : #t1{core::int};
-  set instanceField(core::int #t2) → void
-    this.{non::Class::_#Class#instanceField} = #t2;
+  set instanceField(core::int instanceField#param) → void
+    this.{non::Class::_#Class#instanceField} = instanceField#param;
   get finalInstanceField() → dynamic
     return this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool} ?{dynamic} this.{non::Class::_#Class#finalInstanceField}{dynamic} : throw new _in::LateError::fieldNI("finalInstanceField");
-  set finalInstanceField(dynamic #t3) → void
+  set finalInstanceField(dynamic finalInstanceField#param) → void
     if(this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{non::Class::_#Class#finalInstanceField#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceField} = #t3;
+      this.{non::Class::_#Class#finalInstanceField} = finalInstanceField#param;
     }
   get instanceTypeVariable() → non::Class::T
-    return let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t4 == null ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t4{non::Class::T};
-  set instanceTypeVariable(covariant-by-class non::Class::T #t5) → void
-    this.{non::Class::_#Class#instanceTypeVariable} = #t5;
+    return let final non::Class::T? #t2 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t2 == null ?{non::Class::T} throw new _in::LateError::fieldNI("instanceTypeVariable") : #t2{non::Class::T};
+  set instanceTypeVariable(covariant-by-class non::Class::T instanceTypeVariable#param) → void
+    this.{non::Class::_#Class#instanceTypeVariable} = instanceTypeVariable#param;
   get finalInstanceTypeVariable() → non::Class::T
-    return let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t6 == null ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t6{non::Class::T};
-  set finalInstanceTypeVariable(non::Class::T #t7) → void
+    return let final non::Class::T? #t3 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t3 == null ?{non::Class::T} throw new _in::LateError::fieldNI("finalInstanceTypeVariable") : #t3{non::Class::T};
+  set finalInstanceTypeVariable(non::Class::T finalInstanceTypeVariable#param) → void
     if(this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} == null)
-      this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
+      this.{non::Class::_#Class#finalInstanceTypeVariable} = finalInstanceTypeVariable#param;
     else
       throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
   static get staticField() → core::int
-    return let final core::int? #t8 = non::Class::_#staticField in #t8 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t8{core::int};
-  static set staticField(core::int #t9) → void
-    non::Class::_#staticField = #t9;
+    return let final core::int? #t4 = non::Class::_#staticField in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("staticField") : #t4{core::int};
+  static set staticField(core::int staticField#param) → void
+    non::Class::_#staticField = staticField#param;
   static get staticFinalField() → dynamic
     return non::Class::_#staticFinalField#isSet ?{dynamic} non::Class::_#staticFinalField : throw new _in::LateError::fieldNI("staticFinalField");
-  static set staticFinalField(dynamic #t10) → void
+  static set staticFinalField(dynamic staticFinalField#param) → void
     if(non::Class::_#staticFinalField#isSet)
       throw new _in::LateError::fieldAI("staticFinalField");
     else {
       non::Class::_#staticFinalField#isSet = true;
-      non::Class::_#staticFinalField = #t10;
+      non::Class::_#staticFinalField = staticFinalField#param;
     }
 }
 static field core::int? _#topLevelField = null;
 static field dynamic _#finalTopLevelField = null;
 static field core::bool _#finalTopLevelField#isSet = false;
 static get topLevelField() → core::int
-  return let final core::int? #t11 = non::_#topLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t11{core::int};
-static set topLevelField(core::int #t12) → void
-  non::_#topLevelField = #t12;
+  return let final core::int? #t5 = non::_#topLevelField in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("topLevelField") : #t5{core::int};
+static set topLevelField(core::int topLevelField#param) → void
+  non::_#topLevelField = topLevelField#param;
 static get finalTopLevelField() → dynamic
   return non::_#finalTopLevelField#isSet ?{dynamic} non::_#finalTopLevelField : throw new _in::LateError::fieldNI("finalTopLevelField");
-static set finalTopLevelField(dynamic #t13) → void
+static set finalTopLevelField(dynamic finalTopLevelField#param) → void
   if(non::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     non::_#finalTopLevelField#isSet = true;
-    non::_#finalTopLevelField = #t13;
+    non::_#finalTopLevelField = finalTopLevelField#param;
   }
 static method method<T extends core::Object>(core::bool b, core::int i, non::method::T t) → dynamic {
   lowered core::int? #local;
   function #local#get() → core::int
-    return let final core::int? #t14 = #local in #t14 == null ?{core::int} throw new _in::LateError::localNI("local") : #t14{core::int};
-  function #local#set(core::int #t15) → dynamic
-    return #local = #t15;
+    return let final core::int? #t6 = #local in #t6 == null ?{core::int} throw new _in::LateError::localNI("local") : #t6{core::int};
+  function #local#set(core::int local#param) → dynamic
+    return #local = local#param;
   lowered final dynamic #finalLocal;
   lowered core::bool #finalLocal#isSet = false;
   function #finalLocal#get() → dynamic
     return #finalLocal#isSet ?{dynamic} #finalLocal : throw new _in::LateError::localNI("finalLocal");
-  function #finalLocal#set(dynamic #t16) → dynamic
+  function #finalLocal#set(dynamic finalLocal#param) → dynamic
     if(#finalLocal#isSet)
       throw new _in::LateError::localAI("finalLocal");
     else {
       #finalLocal#isSet = true;
-      return #finalLocal = #t16;
+      return #finalLocal = finalLocal#param;
     }
   lowered non::method::T? #localTypeVariable;
   function #localTypeVariable#get() → non::method::T
-    return let final non::method::T? #t17 = #localTypeVariable in #t17 == null ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t17{non::method::T};
-  function #localTypeVariable#set(non::method::T #t18) → dynamic
-    return #localTypeVariable = #t18;
+    return let final non::method::T? #t7 = #localTypeVariable in #t7 == null ?{non::method::T} throw new _in::LateError::localNI("localTypeVariable") : #t7{non::method::T};
+  function #localTypeVariable#set(non::method::T localTypeVariable#param) → dynamic
+    return #localTypeVariable = localTypeVariable#param;
   lowered final non::method::T? #finalLocalTypeVariable;
   function #finalLocalTypeVariable#get() → non::method::T
-    return let final non::method::T? #t19 = #finalLocalTypeVariable in #t19 == null ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t19{non::method::T};
-  function #finalLocalTypeVariable#set(non::method::T #t20) → dynamic
+    return let final non::method::T? #t8 = #finalLocalTypeVariable in #t8 == null ?{non::method::T} throw new _in::LateError::localNI("finalLocalTypeVariable") : #t8{non::method::T};
+  function #finalLocalTypeVariable#set(non::method::T finalLocalTypeVariable#param) → dynamic
     if(#finalLocalTypeVariable == null)
-      return #finalLocalTypeVariable = #t20;
+      return #finalLocalTypeVariable = finalLocalTypeVariable#param;
     else
       throw new _in::LateError::localAI("finalLocalTypeVariable");
   if(b) {
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect
index 86913df..58294fe 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.expect
@@ -53,48 +53,48 @@
     ;
   get instanceField() → core::int
     return this.{non::Class::_#Class#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{non::Class::_#Class#instanceField}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("instanceField");
-  set instanceField(core::int #t2) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{non::Class::_#Class#instanceField#isSet} = true;
-    this.{non::Class::_#Class#instanceField} = #t2;
+    this.{non::Class::_#Class#instanceField} = instanceField#param;
   }
   get finalInstanceField() → dynamic
     return this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool} ?{dynamic} this.{non::Class::_#Class#finalInstanceField}{dynamic} : throw new _in::LateError::fieldNI("finalInstanceField");
-  set finalInstanceField(dynamic #t3) → void
+  set finalInstanceField(dynamic finalInstanceField#param) → void
     if(this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{non::Class::_#Class#finalInstanceField#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceField} = #t3;
+      this.{non::Class::_#Class#finalInstanceField} = finalInstanceField#param;
     }
   get instanceTypeVariable() → non::Class::T
-    return this.{non::Class::_#Class#instanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t4{non::Class::T} : throw new _in::LateError::fieldNI("instanceTypeVariable");
-  set instanceTypeVariable(covariant-by-class non::Class::T #t5) → void {
+    return this.{non::Class::_#Class#instanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t2 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t2{non::Class::T} : throw new _in::LateError::fieldNI("instanceTypeVariable");
+  set instanceTypeVariable(covariant-by-class non::Class::T instanceTypeVariable#param) → void {
     this.{non::Class::_#Class#instanceTypeVariable#isSet} = true;
-    this.{non::Class::_#Class#instanceTypeVariable} = #t5;
+    this.{non::Class::_#Class#instanceTypeVariable} = instanceTypeVariable#param;
   }
   get finalInstanceTypeVariable() → non::Class::T
-    return this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t6{non::Class::T} : throw new _in::LateError::fieldNI("finalInstanceTypeVariable");
-  set finalInstanceTypeVariable(non::Class::T #t7) → void
+    return this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t3 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t3{non::Class::T} : throw new _in::LateError::fieldNI("finalInstanceTypeVariable");
+  set finalInstanceTypeVariable(non::Class::T finalInstanceTypeVariable#param) → void
     if(this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
     else {
       this.{non::Class::_#Class#finalInstanceTypeVariable#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
+      this.{non::Class::_#Class#finalInstanceTypeVariable} = finalInstanceTypeVariable#param;
     }
   static get staticField() → core::int
-    return non::Class::_#staticField#isSet ?{core::int} let final core::int? #t8 = non::Class::_#staticField in #t8{core::int} : throw new _in::LateError::fieldNI("staticField");
-  static set staticField(core::int #t9) → void {
+    return non::Class::_#staticField#isSet ?{core::int} let final core::int? #t4 = non::Class::_#staticField in #t4{core::int} : throw new _in::LateError::fieldNI("staticField");
+  static set staticField(core::int staticField#param) → void {
     non::Class::_#staticField#isSet = true;
-    non::Class::_#staticField = #t9;
+    non::Class::_#staticField = staticField#param;
   }
   static get staticFinalField() → dynamic
     return non::Class::_#staticFinalField#isSet ?{dynamic} non::Class::_#staticFinalField : throw new _in::LateError::fieldNI("staticFinalField");
-  static set staticFinalField(dynamic #t10) → void
+  static set staticFinalField(dynamic staticFinalField#param) → void
     if(non::Class::_#staticFinalField#isSet)
       throw new _in::LateError::fieldAI("staticFinalField");
     else {
       non::Class::_#staticFinalField#isSet = true;
-      non::Class::_#staticFinalField = #t10;
+      non::Class::_#staticFinalField = staticFinalField#param;
     }
 }
 static field core::int? _#topLevelField = null;
@@ -102,58 +102,58 @@
 static field dynamic _#finalTopLevelField = null;
 static field core::bool _#finalTopLevelField#isSet = false;
 static get topLevelField() → core::int
-  return non::_#topLevelField#isSet ?{core::int} let final core::int? #t11 = non::_#topLevelField in #t11{core::int} : throw new _in::LateError::fieldNI("topLevelField");
-static set topLevelField(core::int #t12) → void {
+  return non::_#topLevelField#isSet ?{core::int} let final core::int? #t5 = non::_#topLevelField in #t5{core::int} : throw new _in::LateError::fieldNI("topLevelField");
+static set topLevelField(core::int topLevelField#param) → void {
   non::_#topLevelField#isSet = true;
-  non::_#topLevelField = #t12;
+  non::_#topLevelField = topLevelField#param;
 }
 static get finalTopLevelField() → dynamic
   return non::_#finalTopLevelField#isSet ?{dynamic} non::_#finalTopLevelField : throw new _in::LateError::fieldNI("finalTopLevelField");
-static set finalTopLevelField(dynamic #t13) → void
+static set finalTopLevelField(dynamic finalTopLevelField#param) → void
   if(non::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     non::_#finalTopLevelField#isSet = true;
-    non::_#finalTopLevelField = #t13;
+    non::_#finalTopLevelField = finalTopLevelField#param;
   }
 static method method<T extends core::Object>(core::bool b, core::int i, non::method::T t) → dynamic {
   lowered core::int? #local;
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t14) → dynamic {
+  function #local#set(core::int local#param) → dynamic {
     #local#isSet = true;
-    return #local = #t14;
+    return #local = local#param;
   }
   lowered final dynamic #finalLocal;
   lowered core::bool #finalLocal#isSet = false;
   function #finalLocal#get() → dynamic
     return #finalLocal#isSet ?{dynamic} #finalLocal : throw new _in::LateError::localNI("finalLocal");
-  function #finalLocal#set(dynamic #t15) → dynamic
+  function #finalLocal#set(dynamic finalLocal#param) → dynamic
     if(#finalLocal#isSet)
       throw new _in::LateError::localAI("finalLocal");
     else {
       #finalLocal#isSet = true;
-      return #finalLocal = #t15;
+      return #finalLocal = finalLocal#param;
     }
   lowered non::method::T? #localTypeVariable;
   lowered core::bool #localTypeVariable#isSet = false;
   function #localTypeVariable#get() → non::method::T
     return #localTypeVariable#isSet ?{non::method::T} #localTypeVariable{non::method::T} : throw new _in::LateError::localNI("localTypeVariable");
-  function #localTypeVariable#set(non::method::T #t16) → dynamic {
+  function #localTypeVariable#set(non::method::T localTypeVariable#param) → dynamic {
     #localTypeVariable#isSet = true;
-    return #localTypeVariable = #t16;
+    return #localTypeVariable = localTypeVariable#param;
   }
   lowered final non::method::T? #finalLocalTypeVariable;
   lowered core::bool #finalLocalTypeVariable#isSet = false;
   function #finalLocalTypeVariable#get() → non::method::T
     return #finalLocalTypeVariable#isSet ?{non::method::T} #finalLocalTypeVariable{non::method::T} : throw new _in::LateError::localNI("finalLocalTypeVariable");
-  function #finalLocalTypeVariable#set(non::method::T #t17) → dynamic
+  function #finalLocalTypeVariable#set(non::method::T finalLocalTypeVariable#param) → dynamic
     if(#finalLocalTypeVariable#isSet)
       throw new _in::LateError::localAI("finalLocalTypeVariable");
     else {
       #finalLocalTypeVariable#isSet = true;
-      return #finalLocalTypeVariable = #t17;
+      return #finalLocalTypeVariable = finalLocalTypeVariable#param;
     }
   if(b) {
     #local#set(i){(core::int) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.modular.expect
index 86913df..58294fe 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.modular.expect
@@ -53,48 +53,48 @@
     ;
   get instanceField() → core::int
     return this.{non::Class::_#Class#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{non::Class::_#Class#instanceField}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("instanceField");
-  set instanceField(core::int #t2) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{non::Class::_#Class#instanceField#isSet} = true;
-    this.{non::Class::_#Class#instanceField} = #t2;
+    this.{non::Class::_#Class#instanceField} = instanceField#param;
   }
   get finalInstanceField() → dynamic
     return this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool} ?{dynamic} this.{non::Class::_#Class#finalInstanceField}{dynamic} : throw new _in::LateError::fieldNI("finalInstanceField");
-  set finalInstanceField(dynamic #t3) → void
+  set finalInstanceField(dynamic finalInstanceField#param) → void
     if(this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{non::Class::_#Class#finalInstanceField#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceField} = #t3;
+      this.{non::Class::_#Class#finalInstanceField} = finalInstanceField#param;
     }
   get instanceTypeVariable() → non::Class::T
-    return this.{non::Class::_#Class#instanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t4{non::Class::T} : throw new _in::LateError::fieldNI("instanceTypeVariable");
-  set instanceTypeVariable(covariant-by-class non::Class::T #t5) → void {
+    return this.{non::Class::_#Class#instanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t2 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t2{non::Class::T} : throw new _in::LateError::fieldNI("instanceTypeVariable");
+  set instanceTypeVariable(covariant-by-class non::Class::T instanceTypeVariable#param) → void {
     this.{non::Class::_#Class#instanceTypeVariable#isSet} = true;
-    this.{non::Class::_#Class#instanceTypeVariable} = #t5;
+    this.{non::Class::_#Class#instanceTypeVariable} = instanceTypeVariable#param;
   }
   get finalInstanceTypeVariable() → non::Class::T
-    return this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t6{non::Class::T} : throw new _in::LateError::fieldNI("finalInstanceTypeVariable");
-  set finalInstanceTypeVariable(non::Class::T #t7) → void
+    return this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t3 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t3{non::Class::T} : throw new _in::LateError::fieldNI("finalInstanceTypeVariable");
+  set finalInstanceTypeVariable(non::Class::T finalInstanceTypeVariable#param) → void
     if(this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
     else {
       this.{non::Class::_#Class#finalInstanceTypeVariable#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
+      this.{non::Class::_#Class#finalInstanceTypeVariable} = finalInstanceTypeVariable#param;
     }
   static get staticField() → core::int
-    return non::Class::_#staticField#isSet ?{core::int} let final core::int? #t8 = non::Class::_#staticField in #t8{core::int} : throw new _in::LateError::fieldNI("staticField");
-  static set staticField(core::int #t9) → void {
+    return non::Class::_#staticField#isSet ?{core::int} let final core::int? #t4 = non::Class::_#staticField in #t4{core::int} : throw new _in::LateError::fieldNI("staticField");
+  static set staticField(core::int staticField#param) → void {
     non::Class::_#staticField#isSet = true;
-    non::Class::_#staticField = #t9;
+    non::Class::_#staticField = staticField#param;
   }
   static get staticFinalField() → dynamic
     return non::Class::_#staticFinalField#isSet ?{dynamic} non::Class::_#staticFinalField : throw new _in::LateError::fieldNI("staticFinalField");
-  static set staticFinalField(dynamic #t10) → void
+  static set staticFinalField(dynamic staticFinalField#param) → void
     if(non::Class::_#staticFinalField#isSet)
       throw new _in::LateError::fieldAI("staticFinalField");
     else {
       non::Class::_#staticFinalField#isSet = true;
-      non::Class::_#staticFinalField = #t10;
+      non::Class::_#staticFinalField = staticFinalField#param;
     }
 }
 static field core::int? _#topLevelField = null;
@@ -102,58 +102,58 @@
 static field dynamic _#finalTopLevelField = null;
 static field core::bool _#finalTopLevelField#isSet = false;
 static get topLevelField() → core::int
-  return non::_#topLevelField#isSet ?{core::int} let final core::int? #t11 = non::_#topLevelField in #t11{core::int} : throw new _in::LateError::fieldNI("topLevelField");
-static set topLevelField(core::int #t12) → void {
+  return non::_#topLevelField#isSet ?{core::int} let final core::int? #t5 = non::_#topLevelField in #t5{core::int} : throw new _in::LateError::fieldNI("topLevelField");
+static set topLevelField(core::int topLevelField#param) → void {
   non::_#topLevelField#isSet = true;
-  non::_#topLevelField = #t12;
+  non::_#topLevelField = topLevelField#param;
 }
 static get finalTopLevelField() → dynamic
   return non::_#finalTopLevelField#isSet ?{dynamic} non::_#finalTopLevelField : throw new _in::LateError::fieldNI("finalTopLevelField");
-static set finalTopLevelField(dynamic #t13) → void
+static set finalTopLevelField(dynamic finalTopLevelField#param) → void
   if(non::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     non::_#finalTopLevelField#isSet = true;
-    non::_#finalTopLevelField = #t13;
+    non::_#finalTopLevelField = finalTopLevelField#param;
   }
 static method method<T extends core::Object>(core::bool b, core::int i, non::method::T t) → dynamic {
   lowered core::int? #local;
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t14) → dynamic {
+  function #local#set(core::int local#param) → dynamic {
     #local#isSet = true;
-    return #local = #t14;
+    return #local = local#param;
   }
   lowered final dynamic #finalLocal;
   lowered core::bool #finalLocal#isSet = false;
   function #finalLocal#get() → dynamic
     return #finalLocal#isSet ?{dynamic} #finalLocal : throw new _in::LateError::localNI("finalLocal");
-  function #finalLocal#set(dynamic #t15) → dynamic
+  function #finalLocal#set(dynamic finalLocal#param) → dynamic
     if(#finalLocal#isSet)
       throw new _in::LateError::localAI("finalLocal");
     else {
       #finalLocal#isSet = true;
-      return #finalLocal = #t15;
+      return #finalLocal = finalLocal#param;
     }
   lowered non::method::T? #localTypeVariable;
   lowered core::bool #localTypeVariable#isSet = false;
   function #localTypeVariable#get() → non::method::T
     return #localTypeVariable#isSet ?{non::method::T} #localTypeVariable{non::method::T} : throw new _in::LateError::localNI("localTypeVariable");
-  function #localTypeVariable#set(non::method::T #t16) → dynamic {
+  function #localTypeVariable#set(non::method::T localTypeVariable#param) → dynamic {
     #localTypeVariable#isSet = true;
-    return #localTypeVariable = #t16;
+    return #localTypeVariable = localTypeVariable#param;
   }
   lowered final non::method::T? #finalLocalTypeVariable;
   lowered core::bool #finalLocalTypeVariable#isSet = false;
   function #finalLocalTypeVariable#get() → non::method::T
     return #finalLocalTypeVariable#isSet ?{non::method::T} #finalLocalTypeVariable{non::method::T} : throw new _in::LateError::localNI("finalLocalTypeVariable");
-  function #finalLocalTypeVariable#set(non::method::T #t17) → dynamic
+  function #finalLocalTypeVariable#set(non::method::T finalLocalTypeVariable#param) → dynamic
     if(#finalLocalTypeVariable#isSet)
       throw new _in::LateError::localAI("finalLocalTypeVariable");
     else {
       #finalLocalTypeVariable#isSet = true;
-      return #finalLocalTypeVariable = #t17;
+      return #finalLocalTypeVariable = finalLocalTypeVariable#param;
     }
   if(b) {
     #local#set(i){(core::int) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.outline.expect
index 22fc18d..479613a 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.outline.expect
@@ -26,26 +26,26 @@
   synthetic constructor •() → self2::Class<self2::Class::T>
     ;
   get instanceField() → core::int;
-  set instanceField(core::int #t1) → void;
+  set instanceField(core::int instanceField#param) → void;
   get finalInstanceField() → dynamic;
-  set finalInstanceField(dynamic #t2) → void;
+  set finalInstanceField(dynamic finalInstanceField#param) → void;
   get instanceTypeVariable() → self2::Class::T;
-  set instanceTypeVariable(covariant-by-class self2::Class::T #t3) → void;
+  set instanceTypeVariable(covariant-by-class self2::Class::T instanceTypeVariable#param) → void;
   get finalInstanceTypeVariable() → self2::Class::T;
-  set finalInstanceTypeVariable(self2::Class::T #t4) → void;
+  set finalInstanceTypeVariable(self2::Class::T finalInstanceTypeVariable#param) → void;
   static get staticField() → core::int;
-  static set staticField(core::int #t5) → void;
+  static set staticField(core::int staticField#param) → void;
   static get staticFinalField() → dynamic;
-  static set staticFinalField(dynamic #t6) → void;
+  static set staticFinalField(dynamic staticFinalField#param) → void;
 }
 static field core::int? _#topLevelField;
 static field core::bool _#topLevelField#isSet;
 static field dynamic _#finalTopLevelField;
 static field core::bool _#finalTopLevelField#isSet;
 static get topLevelField() → core::int;
-static set topLevelField(core::int #t7) → void;
+static set topLevelField(core::int topLevelField#param) → void;
 static get finalTopLevelField() → dynamic;
-static set finalTopLevelField(dynamic #t8) → void;
+static set finalTopLevelField(dynamic finalTopLevelField#param) → void;
 static method method<T extends core::Object>(core::bool b, core::int i, self2::method::T t) → dynamic
   ;
 static method expect(dynamic expected, dynamic actual) → dynamic
diff --git a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect
index 86913df..58294fe 100644
--- a/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/non_nullable_from_opt_out.dart.weak.transformed.expect
@@ -53,48 +53,48 @@
     ;
   get instanceField() → core::int
     return this.{non::Class::_#Class#instanceField#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{non::Class::_#Class#instanceField}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("instanceField");
-  set instanceField(core::int #t2) → void {
+  set instanceField(core::int instanceField#param) → void {
     this.{non::Class::_#Class#instanceField#isSet} = true;
-    this.{non::Class::_#Class#instanceField} = #t2;
+    this.{non::Class::_#Class#instanceField} = instanceField#param;
   }
   get finalInstanceField() → dynamic
     return this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool} ?{dynamic} this.{non::Class::_#Class#finalInstanceField}{dynamic} : throw new _in::LateError::fieldNI("finalInstanceField");
-  set finalInstanceField(dynamic #t3) → void
+  set finalInstanceField(dynamic finalInstanceField#param) → void
     if(this.{non::Class::_#Class#finalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceField");
     else {
       this.{non::Class::_#Class#finalInstanceField#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceField} = #t3;
+      this.{non::Class::_#Class#finalInstanceField} = finalInstanceField#param;
     }
   get instanceTypeVariable() → non::Class::T
-    return this.{non::Class::_#Class#instanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t4 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t4{non::Class::T} : throw new _in::LateError::fieldNI("instanceTypeVariable");
-  set instanceTypeVariable(covariant-by-class non::Class::T #t5) → void {
+    return this.{non::Class::_#Class#instanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t2 = this.{non::Class::_#Class#instanceTypeVariable}{non::Class::T?} in #t2{non::Class::T} : throw new _in::LateError::fieldNI("instanceTypeVariable");
+  set instanceTypeVariable(covariant-by-class non::Class::T instanceTypeVariable#param) → void {
     this.{non::Class::_#Class#instanceTypeVariable#isSet} = true;
-    this.{non::Class::_#Class#instanceTypeVariable} = #t5;
+    this.{non::Class::_#Class#instanceTypeVariable} = instanceTypeVariable#param;
   }
   get finalInstanceTypeVariable() → non::Class::T
-    return this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t6 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t6{non::Class::T} : throw new _in::LateError::fieldNI("finalInstanceTypeVariable");
-  set finalInstanceTypeVariable(non::Class::T #t7) → void
+    return this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool} ?{non::Class::T} let final non::Class::T? #t3 = this.{non::Class::_#Class#finalInstanceTypeVariable}{non::Class::T?} in #t3{non::Class::T} : throw new _in::LateError::fieldNI("finalInstanceTypeVariable");
+  set finalInstanceTypeVariable(non::Class::T finalInstanceTypeVariable#param) → void
     if(this.{non::Class::_#Class#finalInstanceTypeVariable#isSet}{core::bool})
       throw new _in::LateError::fieldAI("finalInstanceTypeVariable");
     else {
       this.{non::Class::_#Class#finalInstanceTypeVariable#isSet} = true;
-      this.{non::Class::_#Class#finalInstanceTypeVariable} = #t7;
+      this.{non::Class::_#Class#finalInstanceTypeVariable} = finalInstanceTypeVariable#param;
     }
   static get staticField() → core::int
-    return non::Class::_#staticField#isSet ?{core::int} let final core::int? #t8 = non::Class::_#staticField in #t8{core::int} : throw new _in::LateError::fieldNI("staticField");
-  static set staticField(core::int #t9) → void {
+    return non::Class::_#staticField#isSet ?{core::int} let final core::int? #t4 = non::Class::_#staticField in #t4{core::int} : throw new _in::LateError::fieldNI("staticField");
+  static set staticField(core::int staticField#param) → void {
     non::Class::_#staticField#isSet = true;
-    non::Class::_#staticField = #t9;
+    non::Class::_#staticField = staticField#param;
   }
   static get staticFinalField() → dynamic
     return non::Class::_#staticFinalField#isSet ?{dynamic} non::Class::_#staticFinalField : throw new _in::LateError::fieldNI("staticFinalField");
-  static set staticFinalField(dynamic #t10) → void
+  static set staticFinalField(dynamic staticFinalField#param) → void
     if(non::Class::_#staticFinalField#isSet)
       throw new _in::LateError::fieldAI("staticFinalField");
     else {
       non::Class::_#staticFinalField#isSet = true;
-      non::Class::_#staticFinalField = #t10;
+      non::Class::_#staticFinalField = staticFinalField#param;
     }
 }
 static field core::int? _#topLevelField = null;
@@ -102,58 +102,58 @@
 static field dynamic _#finalTopLevelField = null;
 static field core::bool _#finalTopLevelField#isSet = false;
 static get topLevelField() → core::int
-  return non::_#topLevelField#isSet ?{core::int} let final core::int? #t11 = non::_#topLevelField in #t11{core::int} : throw new _in::LateError::fieldNI("topLevelField");
-static set topLevelField(core::int #t12) → void {
+  return non::_#topLevelField#isSet ?{core::int} let final core::int? #t5 = non::_#topLevelField in #t5{core::int} : throw new _in::LateError::fieldNI("topLevelField");
+static set topLevelField(core::int topLevelField#param) → void {
   non::_#topLevelField#isSet = true;
-  non::_#topLevelField = #t12;
+  non::_#topLevelField = topLevelField#param;
 }
 static get finalTopLevelField() → dynamic
   return non::_#finalTopLevelField#isSet ?{dynamic} non::_#finalTopLevelField : throw new _in::LateError::fieldNI("finalTopLevelField");
-static set finalTopLevelField(dynamic #t13) → void
+static set finalTopLevelField(dynamic finalTopLevelField#param) → void
   if(non::_#finalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("finalTopLevelField");
   else {
     non::_#finalTopLevelField#isSet = true;
-    non::_#finalTopLevelField = #t13;
+    non::_#finalTopLevelField = finalTopLevelField#param;
   }
 static method method<T extends core::Object>(core::bool b, core::int i, non::method::T t) → dynamic {
   lowered core::int? #local;
   lowered core::bool #local#isSet = false;
   function #local#get() → core::int
     return #local#isSet ?{core::int} #local{core::int} : throw new _in::LateError::localNI("local");
-  function #local#set(core::int #t14) → dynamic {
+  function #local#set(core::int local#param) → dynamic {
     #local#isSet = true;
-    return #local = #t14;
+    return #local = local#param;
   }
   lowered final dynamic #finalLocal;
   lowered core::bool #finalLocal#isSet = false;
   function #finalLocal#get() → dynamic
     return #finalLocal#isSet ?{dynamic} #finalLocal : throw new _in::LateError::localNI("finalLocal");
-  function #finalLocal#set(dynamic #t15) → dynamic
+  function #finalLocal#set(dynamic finalLocal#param) → dynamic
     if(#finalLocal#isSet)
       throw new _in::LateError::localAI("finalLocal");
     else {
       #finalLocal#isSet = true;
-      return #finalLocal = #t15;
+      return #finalLocal = finalLocal#param;
     }
   lowered non::method::T? #localTypeVariable;
   lowered core::bool #localTypeVariable#isSet = false;
   function #localTypeVariable#get() → non::method::T
     return #localTypeVariable#isSet ?{non::method::T} #localTypeVariable{non::method::T} : throw new _in::LateError::localNI("localTypeVariable");
-  function #localTypeVariable#set(non::method::T #t16) → dynamic {
+  function #localTypeVariable#set(non::method::T localTypeVariable#param) → dynamic {
     #localTypeVariable#isSet = true;
-    return #localTypeVariable = #t16;
+    return #localTypeVariable = localTypeVariable#param;
   }
   lowered final non::method::T? #finalLocalTypeVariable;
   lowered core::bool #finalLocalTypeVariable#isSet = false;
   function #finalLocalTypeVariable#get() → non::method::T
     return #finalLocalTypeVariable#isSet ?{non::method::T} #finalLocalTypeVariable{non::method::T} : throw new _in::LateError::localNI("finalLocalTypeVariable");
-  function #finalLocalTypeVariable#set(non::method::T #t17) → dynamic
+  function #finalLocalTypeVariable#set(non::method::T finalLocalTypeVariable#param) → dynamic
     if(#finalLocalTypeVariable#isSet)
       throw new _in::LateError::localAI("finalLocalTypeVariable");
     else {
       #finalLocalTypeVariable#isSet = true;
-      return #finalLocalTypeVariable = #t17;
+      return #finalLocalTypeVariable = finalLocalTypeVariable#param;
     }
   if(b) {
     #local#set(i){(core::int) → dynamic};
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.strong.expect b/pkg/front_end/testcases/late_lowering/override.dart.strong.expect
index ce5f3a8..e45c3f2 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.strong.expect
@@ -13,24 +13,24 @@
     ;
   get field1() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field1}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t1{core::int};
-  set field1(core::int #t2) → void
-    this.{self::Class::_#Class#field1} = #t2;
+  set field1(core::int field1#param) → void
+    this.{self::Class::_#Class#field1} = field1#param;
   get field2() → core::int
-    return let final core::int? #t3 = this.{self::Class::_#Class#field2}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("field2") : #t3{core::int};
-  set field2(core::int #t4) → void
-    this.{self::Class::_#Class#field2} = #t4;
+    return let final core::int? #t2 = this.{self::Class::_#Class#field2}{core::int?} in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("field2") : #t2{core::int};
+  set field2(core::int field2#param) → void
+    this.{self::Class::_#Class#field2} = field2#param;
   get field3() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#field3}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t5{core::int};
-  set field3(core::int #t6) → void
+    return let final core::int? #t3 = this.{self::Class::_#Class#field3}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t3{core::int};
+  set field3(core::int field3#param) → void
     if(this.{self::Class::_#Class#field3}{core::int?} == null)
-      this.{self::Class::_#Class#field3} = #t6;
+      this.{self::Class::_#Class#field3} = field3#param;
     else
       throw new _in::LateError::fieldAI("field3");
   get field4() → core::int
-    return let final core::int? #t7 = this.{self::Class::_#Class#field4}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("field4") : #t7{core::int};
-  set field4(core::int #t8) → void
+    return let final core::int? #t4 = this.{self::Class::_#Class#field4}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("field4") : #t4{core::int};
+  set field4(core::int field4#param) → void
     if(this.{self::Class::_#Class#field4}{core::int?} == null)
-      this.{self::Class::_#Class#field4} = #t8;
+      this.{self::Class::_#Class#field4} = field4#param;
     else
       throw new _in::LateError::fieldAI("field4");
 }
@@ -43,22 +43,22 @@
     : super self::Class::•()
     ;
   get field1() → core::int
-    return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t9{core::int};
-  set field1(core::int #t10) → void
-    this.{self::SubClass::_#SubClass#field1} = #t10;
+    return let final core::int? #t5 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t5{core::int};
+  set field1(core::int field1#param) → void
+    this.{self::SubClass::_#SubClass#field1} = field1#param;
   get field2() → core::int
-    return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t11 == null ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t11{core::int};
-  set field2(core::int #t12) → void
-    this.{self::SubClass::_#SubClass#field2} = #t12;
+    return let final core::int? #t6 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t6 == null ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t6{core::int};
+  set field2(core::int field2#param) → void
+    this.{self::SubClass::_#SubClass#field2} = field2#param;
   get field3() → core::int
-    return let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t13{core::int};
-  set field3(core::int #t14) → void
+    return let final core::int? #t7 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t7{core::int};
+  set field3(core::int field3#param) → void
     if(this.{self::SubClass::_#SubClass#field3}{core::int?} == null)
-      this.{self::SubClass::_#SubClass#field3} = #t14;
+      this.{self::SubClass::_#SubClass#field3} = field3#param;
     else
       throw new _in::LateError::fieldAI("field3");
   get field4() → core::int
-    return let final core::int? #t15 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::SubClass::_#SubClass#field4}{core::int?} == null ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t16 : throw new _in::LateError::fieldADI("field4") : #t15{core::int};
+    return let final core::int? #t8 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t8 == null ?{core::int} let final core::int #t9 = 0 in this.{self::SubClass::_#SubClass#field4}{core::int?} == null ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t9 : throw new _in::LateError::fieldADI("field4") : #t8{core::int};
   get directField1() → core::int
     return super.{self::Class::field1};
   set directField1(core::int value) → void {
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect
index f1ed5f3..e4f719d 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.strong.transformed.expect
@@ -13,24 +13,24 @@
     ;
   get field1() → core::int
     return let final core::int? #t1 = this.{self::Class::_#Class#field1}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t1{core::int};
-  set field1(core::int #t2) → void
-    this.{self::Class::_#Class#field1} = #t2;
+  set field1(core::int field1#param) → void
+    this.{self::Class::_#Class#field1} = field1#param;
   get field2() → core::int
-    return let final core::int? #t3 = this.{self::Class::_#Class#field2}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("field2") : #t3{core::int};
-  set field2(core::int #t4) → void
-    this.{self::Class::_#Class#field2} = #t4;
+    return let final core::int? #t2 = this.{self::Class::_#Class#field2}{core::int?} in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("field2") : #t2{core::int};
+  set field2(core::int field2#param) → void
+    this.{self::Class::_#Class#field2} = field2#param;
   get field3() → core::int
-    return let final core::int? #t5 = this.{self::Class::_#Class#field3}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t5{core::int};
-  set field3(core::int #t6) → void
+    return let final core::int? #t3 = this.{self::Class::_#Class#field3}{core::int?} in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t3{core::int};
+  set field3(core::int field3#param) → void
     if(this.{self::Class::_#Class#field3}{core::int?} == null)
-      this.{self::Class::_#Class#field3} = #t6;
+      this.{self::Class::_#Class#field3} = field3#param;
     else
       throw new _in::LateError::fieldAI("field3");
   get field4() → core::int
-    return let final core::int? #t7 = this.{self::Class::_#Class#field4}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("field4") : #t7{core::int};
-  set field4(core::int #t8) → void
+    return let final core::int? #t4 = this.{self::Class::_#Class#field4}{core::int?} in #t4 == null ?{core::int} throw new _in::LateError::fieldNI("field4") : #t4{core::int};
+  set field4(core::int field4#param) → void
     if(this.{self::Class::_#Class#field4}{core::int?} == null)
-      this.{self::Class::_#Class#field4} = #t8;
+      this.{self::Class::_#Class#field4} = field4#param;
     else
       throw new _in::LateError::fieldAI("field4");
 }
@@ -43,22 +43,22 @@
     : super self::Class::•()
     ;
   get field1() → core::int
-    return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t9{core::int};
-  set field1(core::int #t10) → void
-    this.{self::SubClass::_#SubClass#field1} = #t10;
+    return let final core::int? #t5 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t5 == null ?{core::int} throw new _in::LateError::fieldNI("field1") : #t5{core::int};
+  set field1(core::int field1#param) → void
+    this.{self::SubClass::_#SubClass#field1} = field1#param;
   get field2() → core::int
-    return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t11 == null ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t11{core::int};
-  set field2(core::int #t12) → void
-    this.{self::SubClass::_#SubClass#field2} = #t12;
+    return let final core::int? #t6 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t6 == null ?{core::int} this.{self::SubClass::_#SubClass#field2} = 0 : #t6{core::int};
+  set field2(core::int field2#param) → void
+    this.{self::SubClass::_#SubClass#field2} = field2#param;
   get field3() → core::int
-    return let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t13 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t13{core::int};
-  set field3(core::int #t14) → void
+    return let final core::int? #t7 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t7 == null ?{core::int} throw new _in::LateError::fieldNI("field3") : #t7{core::int};
+  set field3(core::int field3#param) → void
     if(this.{self::SubClass::_#SubClass#field3}{core::int?} == null)
-      this.{self::SubClass::_#SubClass#field3} = #t14;
+      this.{self::SubClass::_#SubClass#field3} = field3#param;
     else
       throw new _in::LateError::fieldAI("field3");
   get field4() → core::int
-    return let final core::int? #t15 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t15 == null ?{core::int} let final core::int #t16 = 0 in this.{self::SubClass::_#SubClass#field4}{core::int?} == null ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t16 : throw new _in::LateError::fieldADI("field4") : #t15{core::int};
+    return let final core::int? #t8 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t8 == null ?{core::int} let final core::int #t9 = 0 in this.{self::SubClass::_#SubClass#field4}{core::int?} == null ?{core::int} this.{self::SubClass::_#SubClass#field4} = #t9 : throw new _in::LateError::fieldADI("field4") : #t8{core::int};
   get directField1() → core::int
     return super.{self::Class::field1};
   set directField1(core::int value) → void {
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.weak.expect b/pkg/front_end/testcases/late_lowering/override.dart.weak.expect
index d89b35a..a64ccbff 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.weak.expect
@@ -17,33 +17,33 @@
     ;
   get field1() → core::int
     return this.{self::Class::_#Class#field1#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field1}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field1");
-  set field1(core::int #t2) → void {
+  set field1(core::int field1#param) → void {
     this.{self::Class::_#Class#field1#isSet} = true;
-    this.{self::Class::_#Class#field1} = #t2;
+    this.{self::Class::_#Class#field1} = field1#param;
   }
   get field2() → core::int
-    return this.{self::Class::_#Class#field2#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#field2}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("field2");
-  set field2(core::int #t4) → void {
+    return this.{self::Class::_#Class#field2#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::Class::_#Class#field2}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("field2");
+  set field2(core::int field2#param) → void {
     this.{self::Class::_#Class#field2#isSet} = true;
-    this.{self::Class::_#Class#field2} = #t4;
+    this.{self::Class::_#Class#field2} = field2#param;
   }
   get field3() → core::int
-    return this.{self::Class::_#Class#field3#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#field3}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("field3");
-  set field3(core::int #t6) → void
+    return this.{self::Class::_#Class#field3#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#field3}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("field3");
+  set field3(core::int field3#param) → void
     if(this.{self::Class::_#Class#field3#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field3");
     else {
       this.{self::Class::_#Class#field3#isSet} = true;
-      this.{self::Class::_#Class#field3} = #t6;
+      this.{self::Class::_#Class#field3} = field3#param;
     }
   get field4() → core::int
-    return this.{self::Class::_#Class#field4#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::Class::_#Class#field4}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("field4");
-  set field4(core::int #t8) → void
+    return this.{self::Class::_#Class#field4#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::Class::_#Class#field4}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("field4");
+  set field4(core::int field4#param) → void
     if(this.{self::Class::_#Class#field4#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field4");
     else {
       this.{self::Class::_#Class#field4#isSet} = true;
-      this.{self::Class::_#Class#field4} = #t8;
+      this.{self::Class::_#Class#field4} = field4#param;
     }
 }
 class SubClass extends self::Class {
@@ -59,40 +59,40 @@
     : super self::Class::•()
     ;
   get field1() → core::int
-    return this.{self::SubClass::_#SubClass#field1#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("field1");
-  set field1(core::int #t10) → void {
+    return this.{self::SubClass::_#SubClass#field1#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("field1");
+  set field1(core::int field1#param) → void {
     this.{self::SubClass::_#SubClass#field1#isSet} = true;
-    this.{self::SubClass::_#SubClass#field1} = #t10;
+    this.{self::SubClass::_#SubClass#field1} = field1#param;
   }
   get field2() → core::int {
     if(!this.{self::SubClass::_#SubClass#field2#isSet}{core::bool}) {
       this.{self::SubClass::_#SubClass#field2} = 0;
       this.{self::SubClass::_#SubClass#field2#isSet} = true;
     }
-    return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t11{core::int};
+    return let final core::int? #t6 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t6{core::int};
   }
-  set field2(core::int #t12) → void {
+  set field2(core::int field2#param) → void {
     this.{self::SubClass::_#SubClass#field2#isSet} = true;
-    this.{self::SubClass::_#SubClass#field2} = #t12;
+    this.{self::SubClass::_#SubClass#field2} = field2#param;
   }
   get field3() → core::int
-    return this.{self::SubClass::_#SubClass#field3#isSet}{core::bool} ?{core::int} let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t13{core::int} : throw new _in::LateError::fieldNI("field3");
-  set field3(core::int #t14) → void
+    return this.{self::SubClass::_#SubClass#field3#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("field3");
+  set field3(core::int field3#param) → void
     if(this.{self::SubClass::_#SubClass#field3#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field3");
     else {
       this.{self::SubClass::_#SubClass#field3#isSet} = true;
-      this.{self::SubClass::_#SubClass#field3} = #t14;
+      this.{self::SubClass::_#SubClass#field3} = field3#param;
     }
   get field4() → core::int {
     if(!this.{self::SubClass::_#SubClass#field4#isSet}{core::bool}) {
-      final core::int #t15 = 0;
+      final core::int #t8 = 0;
       if(this.{self::SubClass::_#SubClass#field4#isSet}{core::bool})
         throw new _in::LateError::fieldADI("field4");
-      this.{self::SubClass::_#SubClass#field4} = #t15;
+      this.{self::SubClass::_#SubClass#field4} = #t8;
       this.{self::SubClass::_#SubClass#field4#isSet} = true;
     }
-    return let final core::int? #t16 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t16{core::int};
+    return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t9{core::int};
   }
   get directField1() → core::int
     return super.{self::Class::field1};
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/override.dart.weak.modular.expect
index d89b35a..a64ccbff 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.weak.modular.expect
@@ -17,33 +17,33 @@
     ;
   get field1() → core::int
     return this.{self::Class::_#Class#field1#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field1}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field1");
-  set field1(core::int #t2) → void {
+  set field1(core::int field1#param) → void {
     this.{self::Class::_#Class#field1#isSet} = true;
-    this.{self::Class::_#Class#field1} = #t2;
+    this.{self::Class::_#Class#field1} = field1#param;
   }
   get field2() → core::int
-    return this.{self::Class::_#Class#field2#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#field2}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("field2");
-  set field2(core::int #t4) → void {
+    return this.{self::Class::_#Class#field2#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::Class::_#Class#field2}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("field2");
+  set field2(core::int field2#param) → void {
     this.{self::Class::_#Class#field2#isSet} = true;
-    this.{self::Class::_#Class#field2} = #t4;
+    this.{self::Class::_#Class#field2} = field2#param;
   }
   get field3() → core::int
-    return this.{self::Class::_#Class#field3#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#field3}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("field3");
-  set field3(core::int #t6) → void
+    return this.{self::Class::_#Class#field3#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#field3}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("field3");
+  set field3(core::int field3#param) → void
     if(this.{self::Class::_#Class#field3#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field3");
     else {
       this.{self::Class::_#Class#field3#isSet} = true;
-      this.{self::Class::_#Class#field3} = #t6;
+      this.{self::Class::_#Class#field3} = field3#param;
     }
   get field4() → core::int
-    return this.{self::Class::_#Class#field4#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::Class::_#Class#field4}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("field4");
-  set field4(core::int #t8) → void
+    return this.{self::Class::_#Class#field4#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::Class::_#Class#field4}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("field4");
+  set field4(core::int field4#param) → void
     if(this.{self::Class::_#Class#field4#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field4");
     else {
       this.{self::Class::_#Class#field4#isSet} = true;
-      this.{self::Class::_#Class#field4} = #t8;
+      this.{self::Class::_#Class#field4} = field4#param;
     }
 }
 class SubClass extends self::Class {
@@ -59,40 +59,40 @@
     : super self::Class::•()
     ;
   get field1() → core::int
-    return this.{self::SubClass::_#SubClass#field1#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("field1");
-  set field1(core::int #t10) → void {
+    return this.{self::SubClass::_#SubClass#field1#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("field1");
+  set field1(core::int field1#param) → void {
     this.{self::SubClass::_#SubClass#field1#isSet} = true;
-    this.{self::SubClass::_#SubClass#field1} = #t10;
+    this.{self::SubClass::_#SubClass#field1} = field1#param;
   }
   get field2() → core::int {
     if(!this.{self::SubClass::_#SubClass#field2#isSet}{core::bool}) {
       this.{self::SubClass::_#SubClass#field2} = 0;
       this.{self::SubClass::_#SubClass#field2#isSet} = true;
     }
-    return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t11{core::int};
+    return let final core::int? #t6 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t6{core::int};
   }
-  set field2(core::int #t12) → void {
+  set field2(core::int field2#param) → void {
     this.{self::SubClass::_#SubClass#field2#isSet} = true;
-    this.{self::SubClass::_#SubClass#field2} = #t12;
+    this.{self::SubClass::_#SubClass#field2} = field2#param;
   }
   get field3() → core::int
-    return this.{self::SubClass::_#SubClass#field3#isSet}{core::bool} ?{core::int} let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t13{core::int} : throw new _in::LateError::fieldNI("field3");
-  set field3(core::int #t14) → void
+    return this.{self::SubClass::_#SubClass#field3#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("field3");
+  set field3(core::int field3#param) → void
     if(this.{self::SubClass::_#SubClass#field3#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field3");
     else {
       this.{self::SubClass::_#SubClass#field3#isSet} = true;
-      this.{self::SubClass::_#SubClass#field3} = #t14;
+      this.{self::SubClass::_#SubClass#field3} = field3#param;
     }
   get field4() → core::int {
     if(!this.{self::SubClass::_#SubClass#field4#isSet}{core::bool}) {
-      final core::int #t15 = 0;
+      final core::int #t8 = 0;
       if(this.{self::SubClass::_#SubClass#field4#isSet}{core::bool})
         throw new _in::LateError::fieldADI("field4");
-      this.{self::SubClass::_#SubClass#field4} = #t15;
+      this.{self::SubClass::_#SubClass#field4} = #t8;
       this.{self::SubClass::_#SubClass#field4#isSet} = true;
     }
-    return let final core::int? #t16 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t16{core::int};
+    return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t9{core::int};
   }
   get directField1() → core::int
     return super.{self::Class::field1};
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/override.dart.weak.outline.expect
index 91bb0ab..d5af486 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.weak.outline.expect
@@ -14,13 +14,13 @@
   synthetic constructor •() → self::Class
     ;
   get field1() → core::int;
-  set field1(core::int #t1) → void;
+  set field1(core::int field1#param) → void;
   get field2() → core::int;
-  set field2(core::int #t2) → void;
+  set field2(core::int field2#param) → void;
   get field3() → core::int;
-  set field3(core::int #t3) → void;
+  set field3(core::int field3#param) → void;
   get field4() → core::int;
-  set field4(core::int #t4) → void;
+  set field4(core::int field4#param) → void;
 }
 class SubClass extends self::Class {
   field core::int? _#SubClass#field1;
@@ -34,11 +34,11 @@
   synthetic constructor •() → self::SubClass
     ;
   get field1() → core::int;
-  set field1(core::int #t5) → void;
+  set field1(core::int field1#param) → void;
   get field2() → core::int;
-  set field2(core::int #t6) → void;
+  set field2(core::int field2#param) → void;
   get field3() → core::int;
-  set field3(core::int #t7) → void;
+  set field3(core::int field3#param) → void;
   get field4() → core::int;
   get directField1() → core::int
     ;
diff --git a/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect
index d89b35a..a64ccbff 100644
--- a/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override.dart.weak.transformed.expect
@@ -17,33 +17,33 @@
     ;
   get field1() → core::int
     return this.{self::Class::_#Class#field1#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::Class::_#Class#field1}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("field1");
-  set field1(core::int #t2) → void {
+  set field1(core::int field1#param) → void {
     this.{self::Class::_#Class#field1#isSet} = true;
-    this.{self::Class::_#Class#field1} = #t2;
+    this.{self::Class::_#Class#field1} = field1#param;
   }
   get field2() → core::int
-    return this.{self::Class::_#Class#field2#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#field2}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("field2");
-  set field2(core::int #t4) → void {
+    return this.{self::Class::_#Class#field2#isSet}{core::bool} ?{core::int} let final core::int? #t2 = this.{self::Class::_#Class#field2}{core::int?} in #t2{core::int} : throw new _in::LateError::fieldNI("field2");
+  set field2(core::int field2#param) → void {
     this.{self::Class::_#Class#field2#isSet} = true;
-    this.{self::Class::_#Class#field2} = #t4;
+    this.{self::Class::_#Class#field2} = field2#param;
   }
   get field3() → core::int
-    return this.{self::Class::_#Class#field3#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::Class::_#Class#field3}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("field3");
-  set field3(core::int #t6) → void
+    return this.{self::Class::_#Class#field3#isSet}{core::bool} ?{core::int} let final core::int? #t3 = this.{self::Class::_#Class#field3}{core::int?} in #t3{core::int} : throw new _in::LateError::fieldNI("field3");
+  set field3(core::int field3#param) → void
     if(this.{self::Class::_#Class#field3#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field3");
     else {
       this.{self::Class::_#Class#field3#isSet} = true;
-      this.{self::Class::_#Class#field3} = #t6;
+      this.{self::Class::_#Class#field3} = field3#param;
     }
   get field4() → core::int
-    return this.{self::Class::_#Class#field4#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::Class::_#Class#field4}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("field4");
-  set field4(core::int #t8) → void
+    return this.{self::Class::_#Class#field4#isSet}{core::bool} ?{core::int} let final core::int? #t4 = this.{self::Class::_#Class#field4}{core::int?} in #t4{core::int} : throw new _in::LateError::fieldNI("field4");
+  set field4(core::int field4#param) → void
     if(this.{self::Class::_#Class#field4#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field4");
     else {
       this.{self::Class::_#Class#field4#isSet} = true;
-      this.{self::Class::_#Class#field4} = #t8;
+      this.{self::Class::_#Class#field4} = field4#param;
     }
 }
 class SubClass extends self::Class {
@@ -59,40 +59,40 @@
     : super self::Class::•()
     ;
   get field1() → core::int
-    return this.{self::SubClass::_#SubClass#field1#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("field1");
-  set field1(core::int #t10) → void {
+    return this.{self::SubClass::_#SubClass#field1#isSet}{core::bool} ?{core::int} let final core::int? #t5 = this.{self::SubClass::_#SubClass#field1}{core::int?} in #t5{core::int} : throw new _in::LateError::fieldNI("field1");
+  set field1(core::int field1#param) → void {
     this.{self::SubClass::_#SubClass#field1#isSet} = true;
-    this.{self::SubClass::_#SubClass#field1} = #t10;
+    this.{self::SubClass::_#SubClass#field1} = field1#param;
   }
   get field2() → core::int {
     if(!this.{self::SubClass::_#SubClass#field2#isSet}{core::bool}) {
       this.{self::SubClass::_#SubClass#field2} = 0;
       this.{self::SubClass::_#SubClass#field2#isSet} = true;
     }
-    return let final core::int? #t11 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t11{core::int};
+    return let final core::int? #t6 = this.{self::SubClass::_#SubClass#field2}{core::int?} in #t6{core::int};
   }
-  set field2(core::int #t12) → void {
+  set field2(core::int field2#param) → void {
     this.{self::SubClass::_#SubClass#field2#isSet} = true;
-    this.{self::SubClass::_#SubClass#field2} = #t12;
+    this.{self::SubClass::_#SubClass#field2} = field2#param;
   }
   get field3() → core::int
-    return this.{self::SubClass::_#SubClass#field3#isSet}{core::bool} ?{core::int} let final core::int? #t13 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t13{core::int} : throw new _in::LateError::fieldNI("field3");
-  set field3(core::int #t14) → void
+    return this.{self::SubClass::_#SubClass#field3#isSet}{core::bool} ?{core::int} let final core::int? #t7 = this.{self::SubClass::_#SubClass#field3}{core::int?} in #t7{core::int} : throw new _in::LateError::fieldNI("field3");
+  set field3(core::int field3#param) → void
     if(this.{self::SubClass::_#SubClass#field3#isSet}{core::bool})
       throw new _in::LateError::fieldAI("field3");
     else {
       this.{self::SubClass::_#SubClass#field3#isSet} = true;
-      this.{self::SubClass::_#SubClass#field3} = #t14;
+      this.{self::SubClass::_#SubClass#field3} = field3#param;
     }
   get field4() → core::int {
     if(!this.{self::SubClass::_#SubClass#field4#isSet}{core::bool}) {
-      final core::int #t15 = 0;
+      final core::int #t8 = 0;
       if(this.{self::SubClass::_#SubClass#field4#isSet}{core::bool})
         throw new _in::LateError::fieldADI("field4");
-      this.{self::SubClass::_#SubClass#field4} = #t15;
+      this.{self::SubClass::_#SubClass#field4} = #t8;
       this.{self::SubClass::_#SubClass#field4#isSet} = true;
     }
-    return let final core::int? #t16 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t16{core::int};
+    return let final core::int? #t9 = this.{self::SubClass::_#SubClass#field4}{core::int?} in #t9{core::int};
   }
   get directField1() → core::int
     return super.{self::Class::field1};
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect
index 179f6d8..fbf4b98 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.expect
@@ -12,19 +12,19 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
+  set x(core::int x#param) → void
     if(this.{self::A::_#A#x}{core::int?} == null)
-      this.{self::A::_#A#x} = #t2;
+      this.{self::A::_#A#x} = x#param;
     else
       throw new _in::LateError::fieldAI("x");
   get y() → core::int?
     return this.{self::A::_#A#y#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#y}{core::int?} : throw new _in::LateError::fieldNI("y");
-  set y(core::int? #t3) → void
+  set y(core::int? y#param) → void
     if(this.{self::A::_#A#y#isSet}{core::bool})
       throw new _in::LateError::fieldAI("y");
     else {
       this.{self::A::_#A#y#isSet} = true;
-      this.{self::A::_#A#y} = #t3;
+      this.{self::A::_#A#y} = y#param;
     }
 }
 class B extends self::A {
@@ -44,13 +44,13 @@
     : super self::A::•()
     ;
   get x() → core::int
-    return let final core::int? #t4 = this.{self::C::_#C#x}{core::int?} in #t4 == null ?{core::int} let final core::int #t5 = 2 in this.{self::C::_#C#x}{core::int?} == null ?{core::int} this.{self::C::_#C#x} = #t5 : throw new _in::LateError::fieldADI("x") : #t4{core::int};
+    return let final core::int? #t2 = this.{self::C::_#C#x}{core::int?} in #t2 == null ?{core::int} let final core::int #t3 = 2 in this.{self::C::_#C#x}{core::int?} == null ?{core::int} this.{self::C::_#C#x} = #t3 : throw new _in::LateError::fieldADI("x") : #t2{core::int};
   get y() → core::int? {
     if(!this.{self::C::_#C#y#isSet}{core::bool}) {
-      final core::int? #t6 = 2;
+      final core::int? #t4 = 2;
       if(this.{self::C::_#C#y#isSet}{core::bool})
         throw new _in::LateError::fieldADI("y");
-      this.{self::C::_#C#y} = #t6;
+      this.{self::C::_#C#y} = #t4;
       this.{self::C::_#C#y#isSet} = true;
     }
     return this.{self::C::_#C#y}{core::int?};
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect
index f2492f7..d9bf012 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.strong.transformed.expect
@@ -12,19 +12,19 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
+  set x(core::int x#param) → void
     if(this.{self::A::_#A#x}{core::int?} == null)
-      this.{self::A::_#A#x} = #t2;
+      this.{self::A::_#A#x} = x#param;
     else
       throw new _in::LateError::fieldAI("x");
   get y() → core::int?
     return this.{self::A::_#A#y#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#y}{core::int?} : throw new _in::LateError::fieldNI("y");
-  set y(core::int? #t3) → void
+  set y(core::int? y#param) → void
     if(this.{self::A::_#A#y#isSet}{core::bool})
       throw new _in::LateError::fieldAI("y");
     else {
       this.{self::A::_#A#y#isSet} = true;
-      this.{self::A::_#A#y} = #t3;
+      this.{self::A::_#A#y} = y#param;
     }
 }
 class B extends self::A {
@@ -44,13 +44,13 @@
     : super self::A::•()
     ;
   get x() → core::int
-    return let final core::int? #t4 = this.{self::C::_#C#x}{core::int?} in #t4 == null ?{core::int} let final core::int #t5 = 2 in this.{self::C::_#C#x}{core::int?} == null ?{core::int} this.{self::C::_#C#x} = #t5 : throw new _in::LateError::fieldADI("x") : #t4{core::int};
+    return let final core::int? #t2 = this.{self::C::_#C#x}{core::int?} in #t2 == null ?{core::int} let final core::int #t3 = 2 in this.{self::C::_#C#x}{core::int?} == null ?{core::int} this.{self::C::_#C#x} = #t3 : throw new _in::LateError::fieldADI("x") : #t2{core::int};
   get y() → core::int? {
     if(!this.{self::C::_#C#y#isSet}{core::bool}) {
-      final core::int? #t6 = 2;
+      final core::int? #t4 = 2;
       if(this.{self::C::_#C#y#isSet}{core::bool})
         throw new _in::LateError::fieldADI("y");
-      this.{self::C::_#C#y} = #t6;
+      this.{self::C::_#C#y} = #t4;
       this.{self::C::_#C#y#isSet} = true;
     }
     return this.{self::C::_#C#y}{core::int?};
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect
index e46b981..f89b6db 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.expect
@@ -13,21 +13,21 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void
+  set x(core::int x#param) → void
     if(this.{self::A::_#A#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::A::_#A#x#isSet} = true;
-      this.{self::A::_#A#x} = #t2;
+      this.{self::A::_#A#x} = x#param;
     }
   get y() → core::int?
     return this.{self::A::_#A#y#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#y}{core::int?} : throw new _in::LateError::fieldNI("y");
-  set y(core::int? #t3) → void
+  set y(core::int? y#param) → void
     if(this.{self::A::_#A#y#isSet}{core::bool})
       throw new _in::LateError::fieldAI("y");
     else {
       this.{self::A::_#A#y#isSet} = true;
-      this.{self::A::_#A#y} = #t3;
+      this.{self::A::_#A#y} = y#param;
     }
 }
 class B extends self::A {
@@ -49,20 +49,20 @@
     ;
   get x() → core::int {
     if(!this.{self::C::_#C#x#isSet}{core::bool}) {
-      final core::int #t4 = 2;
+      final core::int #t2 = 2;
       if(this.{self::C::_#C#x#isSet}{core::bool})
         throw new _in::LateError::fieldADI("x");
-      this.{self::C::_#C#x} = #t4;
+      this.{self::C::_#C#x} = #t2;
       this.{self::C::_#C#x#isSet} = true;
     }
-    return let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5{core::int};
+    return let final core::int? #t3 = this.{self::C::_#C#x}{core::int?} in #t3{core::int};
   }
   get y() → core::int? {
     if(!this.{self::C::_#C#y#isSet}{core::bool}) {
-      final core::int? #t6 = 2;
+      final core::int? #t4 = 2;
       if(this.{self::C::_#C#y#isSet}{core::bool})
         throw new _in::LateError::fieldADI("y");
-      this.{self::C::_#C#y} = #t6;
+      this.{self::C::_#C#y} = #t4;
       this.{self::C::_#C#y#isSet} = true;
     }
     return this.{self::C::_#C#y}{core::int?};
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.modular.expect
index e46b981..f89b6db 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.modular.expect
@@ -13,21 +13,21 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void
+  set x(core::int x#param) → void
     if(this.{self::A::_#A#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::A::_#A#x#isSet} = true;
-      this.{self::A::_#A#x} = #t2;
+      this.{self::A::_#A#x} = x#param;
     }
   get y() → core::int?
     return this.{self::A::_#A#y#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#y}{core::int?} : throw new _in::LateError::fieldNI("y");
-  set y(core::int? #t3) → void
+  set y(core::int? y#param) → void
     if(this.{self::A::_#A#y#isSet}{core::bool})
       throw new _in::LateError::fieldAI("y");
     else {
       this.{self::A::_#A#y#isSet} = true;
-      this.{self::A::_#A#y} = #t3;
+      this.{self::A::_#A#y} = y#param;
     }
 }
 class B extends self::A {
@@ -49,20 +49,20 @@
     ;
   get x() → core::int {
     if(!this.{self::C::_#C#x#isSet}{core::bool}) {
-      final core::int #t4 = 2;
+      final core::int #t2 = 2;
       if(this.{self::C::_#C#x#isSet}{core::bool})
         throw new _in::LateError::fieldADI("x");
-      this.{self::C::_#C#x} = #t4;
+      this.{self::C::_#C#x} = #t2;
       this.{self::C::_#C#x#isSet} = true;
     }
-    return let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5{core::int};
+    return let final core::int? #t3 = this.{self::C::_#C#x}{core::int?} in #t3{core::int};
   }
   get y() → core::int? {
     if(!this.{self::C::_#C#y#isSet}{core::bool}) {
-      final core::int? #t6 = 2;
+      final core::int? #t4 = 2;
       if(this.{self::C::_#C#y#isSet}{core::bool})
         throw new _in::LateError::fieldADI("y");
-      this.{self::C::_#C#y} = #t6;
+      this.{self::C::_#C#y} = #t4;
       this.{self::C::_#C#y#isSet} = true;
     }
     return this.{self::C::_#C#y}{core::int?};
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.outline.expect
index b62fb76..03bd85a 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.outline.expect
@@ -10,9 +10,9 @@
   synthetic constructor •() → self::A
     ;
   get x() → core::int;
-  set x(core::int #t1) → void;
+  set x(core::int x#param) → void;
   get y() → core::int?;
-  set y(core::int? #t2) → void;
+  set y(core::int? y#param) → void;
 }
 class B extends self::A {
   synthetic constructor •() → self::B
diff --git a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect
index e46b981..f89b6db 100644
--- a/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/override_getter_setter.dart.weak.transformed.expect
@@ -13,21 +13,21 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void
+  set x(core::int x#param) → void
     if(this.{self::A::_#A#x#isSet}{core::bool})
       throw new _in::LateError::fieldAI("x");
     else {
       this.{self::A::_#A#x#isSet} = true;
-      this.{self::A::_#A#x} = #t2;
+      this.{self::A::_#A#x} = x#param;
     }
   get y() → core::int?
     return this.{self::A::_#A#y#isSet}{core::bool} ?{core::int?} this.{self::A::_#A#y}{core::int?} : throw new _in::LateError::fieldNI("y");
-  set y(core::int? #t3) → void
+  set y(core::int? y#param) → void
     if(this.{self::A::_#A#y#isSet}{core::bool})
       throw new _in::LateError::fieldAI("y");
     else {
       this.{self::A::_#A#y#isSet} = true;
-      this.{self::A::_#A#y} = #t3;
+      this.{self::A::_#A#y} = y#param;
     }
 }
 class B extends self::A {
@@ -49,20 +49,20 @@
     ;
   get x() → core::int {
     if(!this.{self::C::_#C#x#isSet}{core::bool}) {
-      final core::int #t4 = 2;
+      final core::int #t2 = 2;
       if(this.{self::C::_#C#x#isSet}{core::bool})
         throw new _in::LateError::fieldADI("x");
-      this.{self::C::_#C#x} = #t4;
+      this.{self::C::_#C#x} = #t2;
       this.{self::C::_#C#x#isSet} = true;
     }
-    return let final core::int? #t5 = this.{self::C::_#C#x}{core::int?} in #t5{core::int};
+    return let final core::int? #t3 = this.{self::C::_#C#x}{core::int?} in #t3{core::int};
   }
   get y() → core::int? {
     if(!this.{self::C::_#C#y#isSet}{core::bool}) {
-      final core::int? #t6 = 2;
+      final core::int? #t4 = 2;
       if(this.{self::C::_#C#y#isSet}{core::bool})
         throw new _in::LateError::fieldADI("y");
-      this.{self::C::_#C#y} = #t6;
+      this.{self::C::_#C#y} = #t4;
       this.{self::C::_#C#y#isSet} = true;
     }
     return this.{self::C::_#C#y}{core::int?};
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect
index 7b44b11..4a3aa95 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.expect
@@ -15,8 +15,8 @@
     ;
   get _privateField1() → core::int
     return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1}{core::int?} in #t1 == null ?{core::int} this.{self::_Class::_#_Class#_privateField1} = 1 : #t1{core::int};
-  set _privateField1(core::int #t2) → void
-    this.{self::_Class::_#_Class#_privateField1} = #t2;
+  set _privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateField1#param) → void
+    this.{self::_Class::_#_Class#_privateField1} = library org-dartlang-testcase:///private_members_part.dart::_privateField1#param;
   get _privateField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateField2#isSet}{core::bool}) {
       this.{self::_Class::_#_Class#_privateField2} = 1;
@@ -24,14 +24,14 @@
     }
     return this.{self::_Class::_#_Class#_privateField2}{core::int?};
   }
-  set _privateField2(core::int? #t3) → void {
+  set _privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateField2#param) → void {
     this.{self::_Class::_#_Class#_privateField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField2} = #t3;
+    this.{self::_Class::_#_Class#_privateField2} = library org-dartlang-testcase:///private_members_part.dart::_privateField2#param;
   }
   get _privateFinalField1() → core::int
-    return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t4 == null ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t4{core::int};
-  set _privateFinalField1(core::int #t5) → void
-    this.{self::_Class::_#_Class#_privateFinalField1} = #t5;
+    return let final core::int? #t2 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t2 == null ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t2{core::int};
+  set _privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param) → void
+    this.{self::_Class::_#_Class#_privateFinalField1} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param;
   get _privateFinalField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateFinalField2#isSet}{core::bool}) {
       this.{self::_Class::_#_Class#_privateFinalField2} = 1;
@@ -39,9 +39,9 @@
     }
     return this.{self::_Class::_#_Class#_privateFinalField2}{core::int?};
   }
-  set _privateFinalField2(core::int? #t6) → void {
+  set _privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField2} = #t6;
+    this.{self::_Class::_#_Class#_privateFinalField2} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param;
   }
 }
 extension _Extension on core::int { // from org-dartlang-testcase:///private_members_part.dart
@@ -78,9 +78,9 @@
   self::_Extension|_privateFinalField2;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1() → core::int
-  return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7 == null ?{core::int} self::_#_Extension|_privateField1 = 1 : #t7{core::int};
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t8) → void
-  self::_#_Extension|_privateField1 = #t8;
+  return let final core::int? #t3 = self::_#_Extension|_privateField1 in #t3 == null ?{core::int} self::_#_Extension|_privateField1 = 1 : #t3{core::int};
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param) → void
+  self::_#_Extension|_privateField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
   if(!self::_#_Extension|_privateField2#isSet) {
     self::_#_Extension|_privateField2 = 1;
@@ -88,14 +88,14 @@
   }
   return self::_#_Extension|_privateField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? #t9) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param) → void {
   self::_#_Extension|_privateField2#isSet = true;
-  self::_#_Extension|_privateField2 = #t9;
+  self::_#_Extension|_privateField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int
-  return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10 == null ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t10{core::int};
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t11) → void
-  self::_#_Extension|_privateFinalField1 = #t11;
+  return let final core::int? #t4 = self::_#_Extension|_privateFinalField1 in #t4 == null ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t4{core::int};
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param) → void
+  self::_#_Extension|_privateFinalField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
   if(!self::_#_Extension|_privateFinalField2#isSet) {
     self::_#_Extension|_privateFinalField2 = 1;
@@ -103,7 +103,7 @@
   }
   return self::_#_Extension|_privateFinalField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? #t12) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param) → void {
   self::_#_Extension|_privateFinalField2#isSet = true;
-  self::_#_Extension|_privateFinalField2 = #t12;
+  self::_#_Extension|_privateFinalField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param;
 }
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect
index 7b44b11..4a3aa95 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.strong.transformed.expect
@@ -15,8 +15,8 @@
     ;
   get _privateField1() → core::int
     return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1}{core::int?} in #t1 == null ?{core::int} this.{self::_Class::_#_Class#_privateField1} = 1 : #t1{core::int};
-  set _privateField1(core::int #t2) → void
-    this.{self::_Class::_#_Class#_privateField1} = #t2;
+  set _privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateField1#param) → void
+    this.{self::_Class::_#_Class#_privateField1} = library org-dartlang-testcase:///private_members_part.dart::_privateField1#param;
   get _privateField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateField2#isSet}{core::bool}) {
       this.{self::_Class::_#_Class#_privateField2} = 1;
@@ -24,14 +24,14 @@
     }
     return this.{self::_Class::_#_Class#_privateField2}{core::int?};
   }
-  set _privateField2(core::int? #t3) → void {
+  set _privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateField2#param) → void {
     this.{self::_Class::_#_Class#_privateField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField2} = #t3;
+    this.{self::_Class::_#_Class#_privateField2} = library org-dartlang-testcase:///private_members_part.dart::_privateField2#param;
   }
   get _privateFinalField1() → core::int
-    return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t4 == null ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t4{core::int};
-  set _privateFinalField1(core::int #t5) → void
-    this.{self::_Class::_#_Class#_privateFinalField1} = #t5;
+    return let final core::int? #t2 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t2 == null ?{core::int} this.{self::_Class::_#_Class#_privateFinalField1} = 1 : #t2{core::int};
+  set _privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param) → void
+    this.{self::_Class::_#_Class#_privateFinalField1} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param;
   get _privateFinalField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateFinalField2#isSet}{core::bool}) {
       this.{self::_Class::_#_Class#_privateFinalField2} = 1;
@@ -39,9 +39,9 @@
     }
     return this.{self::_Class::_#_Class#_privateFinalField2}{core::int?};
   }
-  set _privateFinalField2(core::int? #t6) → void {
+  set _privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField2} = #t6;
+    this.{self::_Class::_#_Class#_privateFinalField2} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param;
   }
 }
 extension _Extension on core::int { // from org-dartlang-testcase:///private_members_part.dart
@@ -78,9 +78,9 @@
   self::_Extension|_privateFinalField2;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1() → core::int
-  return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7 == null ?{core::int} self::_#_Extension|_privateField1 = 1 : #t7{core::int};
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t8) → void
-  self::_#_Extension|_privateField1 = #t8;
+  return let final core::int? #t3 = self::_#_Extension|_privateField1 in #t3 == null ?{core::int} self::_#_Extension|_privateField1 = 1 : #t3{core::int};
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param) → void
+  self::_#_Extension|_privateField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
   if(!self::_#_Extension|_privateField2#isSet) {
     self::_#_Extension|_privateField2 = 1;
@@ -88,14 +88,14 @@
   }
   return self::_#_Extension|_privateField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? #t9) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param) → void {
   self::_#_Extension|_privateField2#isSet = true;
-  self::_#_Extension|_privateField2 = #t9;
+  self::_#_Extension|_privateField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int
-  return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10 == null ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t10{core::int};
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t11) → void
-  self::_#_Extension|_privateFinalField1 = #t11;
+  return let final core::int? #t4 = self::_#_Extension|_privateFinalField1 in #t4 == null ?{core::int} self::_#_Extension|_privateFinalField1 = 1 : #t4{core::int};
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param) → void
+  self::_#_Extension|_privateFinalField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
   if(!self::_#_Extension|_privateFinalField2#isSet) {
     self::_#_Extension|_privateFinalField2 = 1;
@@ -103,7 +103,7 @@
   }
   return self::_#_Extension|_privateFinalField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? #t12) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param) → void {
   self::_#_Extension|_privateFinalField2#isSet = true;
-  self::_#_Extension|_privateFinalField2 = #t12;
+  self::_#_Extension|_privateFinalField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param;
 }
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect
index 10fbd90..97f7725 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.expect
@@ -22,9 +22,9 @@
     }
     return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1}{core::int?} in #t1{core::int};
   }
-  set _privateField1(core::int #t2) → void {
+  set _privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateField1#param) → void {
     this.{self::_Class::_#_Class#_privateField1#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField1} = #t2;
+    this.{self::_Class::_#_Class#_privateField1} = library org-dartlang-testcase:///private_members_part.dart::_privateField1#param;
   }
   get _privateField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateField2#isSet}{core::bool}) {
@@ -33,20 +33,20 @@
     }
     return this.{self::_Class::_#_Class#_privateField2}{core::int?};
   }
-  set _privateField2(core::int? #t3) → void {
+  set _privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateField2#param) → void {
     this.{self::_Class::_#_Class#_privateField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField2} = #t3;
+    this.{self::_Class::_#_Class#_privateField2} = library org-dartlang-testcase:///private_members_part.dart::_privateField2#param;
   }
   get _privateFinalField1() → core::int {
     if(!this.{self::_Class::_#_Class#_privateFinalField1#isSet}{core::bool}) {
       this.{self::_Class::_#_Class#_privateFinalField1} = 1;
       this.{self::_Class::_#_Class#_privateFinalField1#isSet} = true;
     }
-    return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t4{core::int};
+    return let final core::int? #t2 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t2{core::int};
   }
-  set _privateFinalField1(core::int #t5) → void {
+  set _privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField1#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField1} = #t5;
+    this.{self::_Class::_#_Class#_privateFinalField1} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param;
   }
   get _privateFinalField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateFinalField2#isSet}{core::bool}) {
@@ -55,9 +55,9 @@
     }
     return this.{self::_Class::_#_Class#_privateFinalField2}{core::int?};
   }
-  set _privateFinalField2(core::int? #t6) → void {
+  set _privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField2} = #t6;
+    this.{self::_Class::_#_Class#_privateFinalField2} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param;
   }
 }
 extension _Extension on core::int { // from org-dartlang-testcase:///private_members_part.dart
@@ -102,11 +102,11 @@
     self::_#_Extension|_privateField1 = 1;
     self::_#_Extension|_privateField1#isSet = true;
   }
-  return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7{core::int};
+  return let final core::int? #t3 = self::_#_Extension|_privateField1 in #t3{core::int};
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t8) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param) → void {
   self::_#_Extension|_privateField1#isSet = true;
-  self::_#_Extension|_privateField1 = #t8;
+  self::_#_Extension|_privateField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
   if(!self::_#_Extension|_privateField2#isSet) {
@@ -115,20 +115,20 @@
   }
   return self::_#_Extension|_privateField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? #t9) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param) → void {
   self::_#_Extension|_privateField2#isSet = true;
-  self::_#_Extension|_privateField2 = #t9;
+  self::_#_Extension|_privateField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int {
   if(!self::_#_Extension|_privateFinalField1#isSet) {
     self::_#_Extension|_privateFinalField1 = 1;
     self::_#_Extension|_privateFinalField1#isSet = true;
   }
-  return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10{core::int};
+  return let final core::int? #t4 = self::_#_Extension|_privateFinalField1 in #t4{core::int};
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t11) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param) → void {
   self::_#_Extension|_privateFinalField1#isSet = true;
-  self::_#_Extension|_privateFinalField1 = #t11;
+  self::_#_Extension|_privateFinalField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
   if(!self::_#_Extension|_privateFinalField2#isSet) {
@@ -137,7 +137,7 @@
   }
   return self::_#_Extension|_privateFinalField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? #t12) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param) → void {
   self::_#_Extension|_privateFinalField2#isSet = true;
-  self::_#_Extension|_privateFinalField2 = #t12;
+  self::_#_Extension|_privateFinalField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param;
 }
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.modular.expect
index 10fbd90..97f7725 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.modular.expect
@@ -22,9 +22,9 @@
     }
     return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1}{core::int?} in #t1{core::int};
   }
-  set _privateField1(core::int #t2) → void {
+  set _privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateField1#param) → void {
     this.{self::_Class::_#_Class#_privateField1#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField1} = #t2;
+    this.{self::_Class::_#_Class#_privateField1} = library org-dartlang-testcase:///private_members_part.dart::_privateField1#param;
   }
   get _privateField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateField2#isSet}{core::bool}) {
@@ -33,20 +33,20 @@
     }
     return this.{self::_Class::_#_Class#_privateField2}{core::int?};
   }
-  set _privateField2(core::int? #t3) → void {
+  set _privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateField2#param) → void {
     this.{self::_Class::_#_Class#_privateField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField2} = #t3;
+    this.{self::_Class::_#_Class#_privateField2} = library org-dartlang-testcase:///private_members_part.dart::_privateField2#param;
   }
   get _privateFinalField1() → core::int {
     if(!this.{self::_Class::_#_Class#_privateFinalField1#isSet}{core::bool}) {
       this.{self::_Class::_#_Class#_privateFinalField1} = 1;
       this.{self::_Class::_#_Class#_privateFinalField1#isSet} = true;
     }
-    return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t4{core::int};
+    return let final core::int? #t2 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t2{core::int};
   }
-  set _privateFinalField1(core::int #t5) → void {
+  set _privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField1#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField1} = #t5;
+    this.{self::_Class::_#_Class#_privateFinalField1} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param;
   }
   get _privateFinalField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateFinalField2#isSet}{core::bool}) {
@@ -55,9 +55,9 @@
     }
     return this.{self::_Class::_#_Class#_privateFinalField2}{core::int?};
   }
-  set _privateFinalField2(core::int? #t6) → void {
+  set _privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField2} = #t6;
+    this.{self::_Class::_#_Class#_privateFinalField2} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param;
   }
 }
 extension _Extension on core::int { // from org-dartlang-testcase:///private_members_part.dart
@@ -102,11 +102,11 @@
     self::_#_Extension|_privateField1 = 1;
     self::_#_Extension|_privateField1#isSet = true;
   }
-  return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7{core::int};
+  return let final core::int? #t3 = self::_#_Extension|_privateField1 in #t3{core::int};
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t8) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param) → void {
   self::_#_Extension|_privateField1#isSet = true;
-  self::_#_Extension|_privateField1 = #t8;
+  self::_#_Extension|_privateField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
   if(!self::_#_Extension|_privateField2#isSet) {
@@ -115,20 +115,20 @@
   }
   return self::_#_Extension|_privateField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? #t9) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param) → void {
   self::_#_Extension|_privateField2#isSet = true;
-  self::_#_Extension|_privateField2 = #t9;
+  self::_#_Extension|_privateField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int {
   if(!self::_#_Extension|_privateFinalField1#isSet) {
     self::_#_Extension|_privateFinalField1 = 1;
     self::_#_Extension|_privateFinalField1#isSet = true;
   }
-  return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10{core::int};
+  return let final core::int? #t4 = self::_#_Extension|_privateFinalField1 in #t4{core::int};
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t11) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param) → void {
   self::_#_Extension|_privateFinalField1#isSet = true;
-  self::_#_Extension|_privateFinalField1 = #t11;
+  self::_#_Extension|_privateFinalField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
   if(!self::_#_Extension|_privateFinalField2#isSet) {
@@ -137,7 +137,7 @@
   }
   return self::_#_Extension|_privateFinalField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? #t12) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param) → void {
   self::_#_Extension|_privateFinalField2#isSet = true;
-  self::_#_Extension|_privateFinalField2 = #t12;
+  self::_#_Extension|_privateFinalField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param;
 }
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.outline.expect
index 88c4850ad..2d4f5abd 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.outline.expect
@@ -15,13 +15,13 @@
   synthetic constructor •() → self::_Class
     ;
   get _privateField1() → core::int;
-  set _privateField1(core::int #t1) → void;
+  set _privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateField1#param) → void;
   get _privateField2() → core::int?;
-  set _privateField2(core::int? #t2) → void;
+  set _privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateField2#param) → void;
   get _privateFinalField1() → core::int;
-  set _privateFinalField1(core::int #t3) → void;
+  set _privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param) → void;
   get _privateFinalField2() → core::int?;
-  set _privateFinalField2(core::int? #t4) → void;
+  set _privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param) → void;
 }
 extension _Extension on core::int { // from org-dartlang-testcase:///private_members_part.dart
   static field _privateField1 = self::_#_Extension|_privateField1;
@@ -52,10 +52,10 @@
 static method main() → dynamic
   ;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1() → core::int;
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t5) → void;
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param) → void;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int?;
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? #t6) → void;
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param) → void;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int;
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t7) → void;
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param) → void;
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int?;
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? #t8) → void;
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param) → void;
diff --git a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect
index 10fbd90..97f7725 100644
--- a/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/private_members.dart.weak.transformed.expect
@@ -22,9 +22,9 @@
     }
     return let final core::int? #t1 = this.{self::_Class::_#_Class#_privateField1}{core::int?} in #t1{core::int};
   }
-  set _privateField1(core::int #t2) → void {
+  set _privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateField1#param) → void {
     this.{self::_Class::_#_Class#_privateField1#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField1} = #t2;
+    this.{self::_Class::_#_Class#_privateField1} = library org-dartlang-testcase:///private_members_part.dart::_privateField1#param;
   }
   get _privateField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateField2#isSet}{core::bool}) {
@@ -33,20 +33,20 @@
     }
     return this.{self::_Class::_#_Class#_privateField2}{core::int?};
   }
-  set _privateField2(core::int? #t3) → void {
+  set _privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateField2#param) → void {
     this.{self::_Class::_#_Class#_privateField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateField2} = #t3;
+    this.{self::_Class::_#_Class#_privateField2} = library org-dartlang-testcase:///private_members_part.dart::_privateField2#param;
   }
   get _privateFinalField1() → core::int {
     if(!this.{self::_Class::_#_Class#_privateFinalField1#isSet}{core::bool}) {
       this.{self::_Class::_#_Class#_privateFinalField1} = 1;
       this.{self::_Class::_#_Class#_privateFinalField1#isSet} = true;
     }
-    return let final core::int? #t4 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t4{core::int};
+    return let final core::int? #t2 = this.{self::_Class::_#_Class#_privateFinalField1}{core::int?} in #t2{core::int};
   }
-  set _privateFinalField1(core::int #t5) → void {
+  set _privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField1#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField1} = #t5;
+    this.{self::_Class::_#_Class#_privateFinalField1} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField1#param;
   }
   get _privateFinalField2() → core::int? {
     if(!this.{self::_Class::_#_Class#_privateFinalField2#isSet}{core::bool}) {
@@ -55,9 +55,9 @@
     }
     return this.{self::_Class::_#_Class#_privateFinalField2}{core::int?};
   }
-  set _privateFinalField2(core::int? #t6) → void {
+  set _privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param) → void {
     this.{self::_Class::_#_Class#_privateFinalField2#isSet} = true;
-    this.{self::_Class::_#_Class#_privateFinalField2} = #t6;
+    this.{self::_Class::_#_Class#_privateFinalField2} = library org-dartlang-testcase:///private_members_part.dart::_privateFinalField2#param;
   }
 }
 extension _Extension on core::int { // from org-dartlang-testcase:///private_members_part.dart
@@ -102,11 +102,11 @@
     self::_#_Extension|_privateField1 = 1;
     self::_#_Extension|_privateField1#isSet = true;
   }
-  return let final core::int? #t7 = self::_#_Extension|_privateField1 in #t7{core::int};
+  return let final core::int? #t3 = self::_#_Extension|_privateField1 in #t3{core::int};
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int #t8) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param) → void {
   self::_#_Extension|_privateField1#isSet = true;
-  self::_#_Extension|_privateField1 = #t8;
+  self::_#_Extension|_privateField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField1#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2() → core::int? {
   if(!self::_#_Extension|_privateField2#isSet) {
@@ -115,20 +115,20 @@
   }
   return self::_#_Extension|_privateField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? #t9) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param) → void {
   self::_#_Extension|_privateField2#isSet = true;
-  self::_#_Extension|_privateField2 = #t9;
+  self::_#_Extension|_privateField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateField2#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1() → core::int {
   if(!self::_#_Extension|_privateFinalField1#isSet) {
     self::_#_Extension|_privateFinalField1 = 1;
     self::_#_Extension|_privateFinalField1#isSet = true;
   }
-  return let final core::int? #t10 = self::_#_Extension|_privateFinalField1 in #t10{core::int};
+  return let final core::int? #t4 = self::_#_Extension|_privateFinalField1 in #t4{core::int};
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int #t11) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField1(core::int library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param) → void {
   self::_#_Extension|_privateFinalField1#isSet = true;
-  self::_#_Extension|_privateFinalField1 = #t11;
+  self::_#_Extension|_privateFinalField1 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField1#param;
 }
 static get /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2() → core::int? {
   if(!self::_#_Extension|_privateFinalField2#isSet) {
@@ -137,7 +137,7 @@
   }
   return self::_#_Extension|_privateFinalField2;
 }
-static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? #t12) → void {
+static set /* from org-dartlang-testcase:///private_members_part.dart */ _Extension|_privateFinalField2(core::int? library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param) → void {
   self::_#_Extension|_privateFinalField2#isSet = true;
-  self::_#_Extension|_privateFinalField2 = #t12;
+  self::_#_Extension|_privateFinalField2 = library org-dartlang-testcase:///private_members_part.dart::_Extension|_privateFinalField2#param;
 }
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect
index 8b9bf40..1d0cc75 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.expect
@@ -17,9 +17,9 @@
       }
       return #result{self::Class::E%};
     }
-    function #result#set(self::Class::E% #t1) → dynamic {
+    function #result#set(self::Class::E% result#param) → dynamic {
       #result#isSet = true;
-      return #result = #t1;
+      return #result = result#param;
     }
     return #result#get(){() → self::Class::E%};
   }
@@ -27,9 +27,9 @@
 static method returnNonNullable(core::int value) → core::int {
   lowered core::int? #result;
   function #result#get() → core::int
-    return let final core::int? #t2 = #result in #t2 == null ?{core::int} #result = value : #t2{core::int};
-  function #result#set(core::int #t3) → dynamic
-    return #result = #t3;
+    return let final core::int? #t1 = #result in #t1 == null ?{core::int} #result = value : #t1{core::int};
+  function #result#set(core::int result#param) → dynamic
+    return #result = result#param;
   return #result#get(){() → core::int};
 }
 static method returnNullable(core::int? value) → core::int? {
@@ -42,9 +42,9 @@
     }
     return #result;
   }
-  function #result#set(core::int? #t4) → dynamic {
+  function #result#set(core::int? result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t4;
+    return #result = result#param;
   }
   return #result#get(){() → core::int?};
 }
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect
index 8b9bf40..1d0cc75 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.strong.transformed.expect
@@ -17,9 +17,9 @@
       }
       return #result{self::Class::E%};
     }
-    function #result#set(self::Class::E% #t1) → dynamic {
+    function #result#set(self::Class::E% result#param) → dynamic {
       #result#isSet = true;
-      return #result = #t1;
+      return #result = result#param;
     }
     return #result#get(){() → self::Class::E%};
   }
@@ -27,9 +27,9 @@
 static method returnNonNullable(core::int value) → core::int {
   lowered core::int? #result;
   function #result#get() → core::int
-    return let final core::int? #t2 = #result in #t2 == null ?{core::int} #result = value : #t2{core::int};
-  function #result#set(core::int #t3) → dynamic
-    return #result = #t3;
+    return let final core::int? #t1 = #result in #t1 == null ?{core::int} #result = value : #t1{core::int};
+  function #result#set(core::int result#param) → dynamic
+    return #result = result#param;
   return #result#get(){() → core::int};
 }
 static method returnNullable(core::int? value) → core::int? {
@@ -42,9 +42,9 @@
     }
     return #result;
   }
-  function #result#set(core::int? #t4) → dynamic {
+  function #result#set(core::int? result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t4;
+    return #result = result#param;
   }
   return #result#get(){() → core::int?};
 }
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect
index 3733586..36c861d 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.expect
@@ -17,9 +17,9 @@
       }
       return #result{self::Class::E%};
     }
-    function #result#set(self::Class::E% #t1) → dynamic {
+    function #result#set(self::Class::E% result#param) → dynamic {
       #result#isSet = true;
-      return #result = #t1;
+      return #result = result#param;
     }
     return #result#get(){() → self::Class::E%};
   }
@@ -34,9 +34,9 @@
     }
     return #result{core::int};
   }
-  function #result#set(core::int #t2) → dynamic {
+  function #result#set(core::int result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t2;
+    return #result = result#param;
   }
   return #result#get(){() → core::int};
 }
@@ -50,9 +50,9 @@
     }
     return #result;
   }
-  function #result#set(core::int? #t3) → dynamic {
+  function #result#set(core::int? result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t3;
+    return #result = result#param;
   }
   return #result#get(){() → core::int?};
 }
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.modular.expect
index 3733586..36c861d 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.modular.expect
@@ -17,9 +17,9 @@
       }
       return #result{self::Class::E%};
     }
-    function #result#set(self::Class::E% #t1) → dynamic {
+    function #result#set(self::Class::E% result#param) → dynamic {
       #result#isSet = true;
-      return #result = #t1;
+      return #result = result#param;
     }
     return #result#get(){() → self::Class::E%};
   }
@@ -34,9 +34,9 @@
     }
     return #result{core::int};
   }
-  function #result#set(core::int #t2) → dynamic {
+  function #result#set(core::int result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t2;
+    return #result = result#param;
   }
   return #result#get(){() → core::int};
 }
@@ -50,9 +50,9 @@
     }
     return #result;
   }
-  function #result#set(core::int? #t3) → dynamic {
+  function #result#set(core::int? result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t3;
+    return #result = result#param;
   }
   return #result#get(){() → core::int?};
 }
diff --git a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect
index 3733586..36c861d 100644
--- a/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/return_late.dart.weak.transformed.expect
@@ -17,9 +17,9 @@
       }
       return #result{self::Class::E%};
     }
-    function #result#set(self::Class::E% #t1) → dynamic {
+    function #result#set(self::Class::E% result#param) → dynamic {
       #result#isSet = true;
-      return #result = #t1;
+      return #result = result#param;
     }
     return #result#get(){() → self::Class::E%};
   }
@@ -34,9 +34,9 @@
     }
     return #result{core::int};
   }
-  function #result#set(core::int #t2) → dynamic {
+  function #result#set(core::int result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t2;
+    return #result = result#param;
   }
   return #result#get(){() → core::int};
 }
@@ -50,9 +50,9 @@
     }
     return #result;
   }
-  function #result#set(core::int? #t3) → dynamic {
+  function #result#set(core::int? result#param) → dynamic {
     #result#isSet = true;
-    return #result = #t3;
+    return #result = result#param;
   }
   return #result#get(){() → core::int?};
 }
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect
index 6d6de22..f1fee7e 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.expect
@@ -17,34 +17,34 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
-  static set uninitializedNonFinalStaticField(core::int #t2) → void
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   static get uninitializedFinalStaticField() → core::int
-    return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t2{core::int};
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField == null)
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
   static get initializedNonFinalStaticField() → core::int
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
-  static set initializedNonFinalStaticField(core::int #t6) → void
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t3{core::int};
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   static get initializedFinalStaticField() → core::int
-    return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+    return let final core::int? #t4 = self::Class::_#initializedFinalStaticField in #t4 == null ?{core::int} let final core::int #t5 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t5 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t4{core::int};
   get uninitializedFinalInstanceField() → core::int
-    return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t9{core::int};
-  set uninitializedFinalInstanceField(core::int #t10) → void
+    return let final core::int? #t6 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t6{core::int};
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} == null)
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t10;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
   get initializedNonFinalInstanceField() → core::int
-    return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t11 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t11{core::int};
-  set initializedNonFinalInstanceField(core::int #t12) → void
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t12;
+    return let final core::int? #t7 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t7 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t7{core::int};
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   get initializedFinalInstanceField() → core::int
-    return let final core::int? #t13 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t13 == null ?{core::int} let final core::int #t14 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t14 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t13{core::int};
+    return let final core::int? #t8 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t8 == null ?{core::int} let final core::int #t9 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t9 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t8{core::int};
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
 static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -56,32 +56,32 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t15) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t15;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t16 = #nonNullableUninitializedNonFinalLocal in #t16 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t16{core::int};
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t17) → dynamic
-    return #nonNullableUninitializedNonFinalLocal = #t17;
+    return let final core::int? #t10 = #nonNullableUninitializedNonFinalLocal in #t10 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t10{core::int};
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t18) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t18;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   function #nonNullableUninitializedFinalLocal#get() → core::int
-    return let final core::int? #t19 = #nonNullableUninitializedFinalLocal in #t19 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t19{core::int};
-  function #nonNullableUninitializedFinalLocal#set(core::int #t20) → dynamic
+    return let final core::int? #t11 = #nonNullableUninitializedFinalLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t11{core::int};
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal == null)
-      return #nonNullableUninitializedFinalLocal = #t20;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
   lowered core::int? #nullableInitializedNonFinalLocal;
@@ -93,45 +93,45 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t21) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t21;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   function #nonNullableInitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t22 = #nonNullableInitializedNonFinalLocal in #t22 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t22{core::int};
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t23) → dynamic
-    return #nonNullableInitializedNonFinalLocal = #t23;
+    return let final core::int? #t12 = #nonNullableInitializedNonFinalLocal in #t12 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t12{core::int};
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t24 = 0;
+      final core::int? #t13 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t24;
+      #nullableInitializedFinalLocal = #t13;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
   }
   lowered final core::int? #nonNullableInitializedFinalLocal;
   function #nonNullableInitializedFinalLocal#get() → core::int
-    return let final core::int? #t25 = #nonNullableInitializedFinalLocal in #t25 == null ?{core::int} let final core::int #t26 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t26 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t25{core::int};
+    return let final core::int? #t14 = #nonNullableInitializedFinalLocal in #t14 == null ?{core::int} let final core::int #t15 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t15 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t14{core::int};
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t27 = self::_#uninitializedNonFinalTopLevelField in #t27 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t27{core::int};
-static set uninitializedNonFinalTopLevelField(core::int #t28) → void
-  self::_#uninitializedNonFinalTopLevelField = #t28;
+  return let final core::int? #t16 = self::_#uninitializedNonFinalTopLevelField in #t16 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t16{core::int};
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 static get uninitializedFinalTopLevelField() → core::int
-  return let final core::int? #t29 = self::_#uninitializedFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t29{core::int};
-static set uninitializedFinalTopLevelField(core::int #t30) → void
+  return let final core::int? #t17 = self::_#uninitializedFinalTopLevelField in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t17{core::int};
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField == null)
-    self::_#uninitializedFinalTopLevelField = #t30;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
 static get initializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t31 = self::_#initializedNonFinalTopLevelField in #t31 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t31{core::int};
-static set initializedNonFinalTopLevelField(core::int #t32) → void
-  self::_#initializedNonFinalTopLevelField = #t32;
+  return let final core::int? #t18 = self::_#initializedNonFinalTopLevelField in #t18 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t18{core::int};
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 static get initializedFinalTopLevelField() → core::int
-  return let final core::int? #t33 = self::_#initializedFinalTopLevelField in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t34 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t33{core::int};
+  return let final core::int? #t19 = self::_#initializedFinalTopLevelField in #t19 == null ?{core::int} let final core::int #t20 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t20 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t19{core::int};
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect
index 1bc9058..8eac5e6 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.strong.transformed.expect
@@ -17,34 +17,34 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField") : #t1{core::int};
-  static set uninitializedNonFinalStaticField(core::int #t2) → void
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   static get uninitializedFinalStaticField() → core::int
-    return let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t3{core::int};
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalStaticField") : #t2{core::int};
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField == null)
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
   static get initializedNonFinalStaticField() → core::int
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t5{core::int};
-  static set initializedNonFinalStaticField(core::int #t6) → void
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3 == null ?{core::int} self::Class::_#initializedNonFinalStaticField = 0 : #t3{core::int};
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   static get initializedFinalStaticField() → core::int
-    return let final core::int? #t7 = self::Class::_#initializedFinalStaticField in #t7 == null ?{core::int} let final core::int #t8 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t8 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t7{core::int};
+    return let final core::int? #t4 = self::Class::_#initializedFinalStaticField in #t4 == null ?{core::int} let final core::int #t5 = 0 in self::Class::_#initializedFinalStaticField == null ?{core::int} self::Class::_#initializedFinalStaticField = #t5 : throw new _in::LateError::fieldADI("initializedFinalStaticField") : #t4{core::int};
   get uninitializedFinalInstanceField() → core::int
-    return let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t9 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t9{core::int};
-  set uninitializedFinalInstanceField(core::int #t10) → void
+    return let final core::int? #t6 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalInstanceField") : #t6{core::int};
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} == null)
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t10;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     else
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
   get initializedNonFinalInstanceField() → core::int
-    return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t11 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t11{core::int};
-  set initializedNonFinalInstanceField(core::int #t12) → void
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t12;
+    return let final core::int? #t7 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t7 == null ?{core::int} this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0 : #t7{core::int};
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   get initializedFinalInstanceField() → core::int
-    return let final core::int? #t13 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t13 == null ?{core::int} let final core::int #t14 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t14 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t13{core::int};
+    return let final core::int? #t8 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t8 == null ?{core::int} let final core::int #t9 = 0 in this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} == null ?{core::int} this.{self::Class::_#Class#initializedFinalInstanceField} = #t9 : throw new _in::LateError::fieldADI("initializedFinalInstanceField") : #t8{core::int};
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
 static field core::int? _#uninitializedFinalTopLevelField = null;
@@ -56,32 +56,32 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t15) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t15;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t16 = #nonNullableUninitializedNonFinalLocal in #t16 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t16{core::int};
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t17) → dynamic
-    return #nonNullableUninitializedNonFinalLocal = #t17;
+    return let final core::int? #t10 = #nonNullableUninitializedNonFinalLocal in #t10 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal") : #t10{core::int};
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t18) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t18;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   function #nonNullableUninitializedFinalLocal#get() → core::int
-    return let final core::int? #t19 = #nonNullableUninitializedFinalLocal in #t19 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t19{core::int};
-  function #nonNullableUninitializedFinalLocal#set(core::int #t20) → dynamic
+    return let final core::int? #t11 = #nonNullableUninitializedFinalLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal") : #t11{core::int};
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal == null)
-      return #nonNullableUninitializedFinalLocal = #t20;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
   lowered core::int? #nullableInitializedNonFinalLocal;
@@ -93,48 +93,48 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t21) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t21;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   function #nonNullableInitializedNonFinalLocal#get() → core::int
-    return let final core::int? #t22 = #nonNullableInitializedNonFinalLocal in #t22 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t22{core::int};
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t23) → dynamic
-    return #nonNullableInitializedNonFinalLocal = #t23;
+    return let final core::int? #t12 = #nonNullableInitializedNonFinalLocal in #t12 == null ?{core::int} #nonNullableInitializedNonFinalLocal = 0 : #t12{core::int};
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t24 = 0;
+      final core::int? #t13 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t24;
+      #nullableInitializedFinalLocal = #t13;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
   }
   lowered final core::int? #nonNullableInitializedFinalLocal;
   function #nonNullableInitializedFinalLocal#get() → core::int
-    return let final core::int? #t25 = #nonNullableInitializedFinalLocal in #t25 == null ?{core::int} let final core::int #t26 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t26 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t25{core::int};
+    return let final core::int? #t14 = #nonNullableInitializedFinalLocal in #t14 == null ?{core::int} let final core::int #t15 = 0 in #nonNullableInitializedFinalLocal == null ?{core::int} #nonNullableInitializedFinalLocal = #t15 : throw new _in::LateError::localADI("nonNullableInitializedFinalLocal") : #t14{core::int};
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t27 = self::_#uninitializedNonFinalTopLevelField in #t27 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t27{core::int};
-static set uninitializedNonFinalTopLevelField(core::int #t28) → void
-  self::_#uninitializedNonFinalTopLevelField = #t28;
+  return let final core::int? #t16 = self::_#uninitializedNonFinalTopLevelField in #t16 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField") : #t16{core::int};
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 static get uninitializedFinalTopLevelField() → core::int
-  return let final core::int? #t29 = self::_#uninitializedFinalTopLevelField in #t29 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t29{core::int};
-static set uninitializedFinalTopLevelField(core::int #t30) → void
+  return let final core::int? #t17 = self::_#uninitializedFinalTopLevelField in #t17 == null ?{core::int} throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField") : #t17{core::int};
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField == null)
-    self::_#uninitializedFinalTopLevelField = #t30;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
 static get initializedNonFinalTopLevelField() → core::int
-  return let final core::int? #t31 = self::_#initializedNonFinalTopLevelField in #t31 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t31{core::int};
-static set initializedNonFinalTopLevelField(core::int #t32) → void
-  self::_#initializedNonFinalTopLevelField = #t32;
+  return let final core::int? #t18 = self::_#initializedNonFinalTopLevelField in #t18 == null ?{core::int} self::_#initializedNonFinalTopLevelField = 0 : #t18{core::int};
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 static get initializedFinalTopLevelField() → core::int
-  return let final core::int? #t33 = self::_#initializedFinalTopLevelField in #t33 == null ?{core::int} let final core::int #t34 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t34 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t33{core::int};
+  return let final core::int? #t19 = self::_#initializedFinalTopLevelField in #t19 == null ?{core::int} let final core::int #t20 = 0 in self::_#initializedFinalTopLevelField == null ?{core::int} self::_#initializedFinalTopLevelField = #t20 : throw new _in::LateError::fieldADI("initializedFinalTopLevelField") : #t19{core::int};
 
 
 Extra constant evaluation status:
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.expect
index bfdde61..35fcde8 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.expect
@@ -24,69 +24,69 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return self::Class::_#uninitializedNonFinalStaticField#isSet ?{core::int} let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField");
-  static set uninitializedNonFinalStaticField(core::int #t2) → void {
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void {
     self::Class::_#uninitializedNonFinalStaticField#isSet = true;
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   }
   static get uninitializedFinalStaticField() → core::int
-    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField#isSet)
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
     else {
       self::Class::_#uninitializedFinalStaticField#isSet = true;
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     }
   static get initializedNonFinalStaticField() → core::int {
     if(!self::Class::_#initializedNonFinalStaticField#isSet) {
       self::Class::_#initializedNonFinalStaticField = 0;
       self::Class::_#initializedNonFinalStaticField#isSet = true;
     }
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5{core::int};
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3{core::int};
   }
-  static set initializedNonFinalStaticField(core::int #t6) → void {
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void {
     self::Class::_#initializedNonFinalStaticField#isSet = true;
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   }
   static get initializedFinalStaticField() → core::int {
     if(!self::Class::_#initializedFinalStaticField#isSet) {
-      final core::int #t7 = 0;
+      final core::int #t4 = 0;
       if(self::Class::_#initializedFinalStaticField#isSet)
         throw new _in::LateError::fieldADI("initializedFinalStaticField");
-      self::Class::_#initializedFinalStaticField = #t7;
+      self::Class::_#initializedFinalStaticField = #t4;
       self::Class::_#initializedFinalStaticField#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#initializedFinalStaticField in #t8{core::int};
+    return let final core::int? #t5 = self::Class::_#initializedFinalStaticField in #t5{core::int};
   }
   get uninitializedFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
-  set uninitializedFinalInstanceField(core::int #t10) → void
+    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
     else {
       this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet} = true;
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t10;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     }
   get initializedNonFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet}{core::bool}) {
       this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0;
       this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t11{core::int};
+    return let final core::int? #t7 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t7{core::int};
   }
-  set initializedNonFinalInstanceField(core::int #t12) → void {
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t12;
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   }
   get initializedFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool}) {
-      final core::int #t13 = 0;
+      final core::int #t8 = 0;
       if(this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool})
         throw new _in::LateError::fieldADI("initializedFinalInstanceField");
-      this.{self::Class::_#Class#initializedFinalInstanceField} = #t13;
+      this.{self::Class::_#Class#initializedFinalInstanceField} = #t8;
       this.{self::Class::_#Class#initializedFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t14 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t14{core::int};
+    return let final core::int? #t9 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t9{core::int};
   }
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
@@ -103,39 +103,39 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t15) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t15;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   lowered core::bool #nonNullableUninitializedNonFinalLocal#isSet = false;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
     return #nonNullableUninitializedNonFinalLocal#isSet ?{core::int} #nonNullableUninitializedNonFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal");
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t16) → dynamic {
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic {
     #nonNullableUninitializedNonFinalLocal#isSet = true;
-    return #nonNullableUninitializedNonFinalLocal = #t16;
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t17) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t17;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   lowered core::bool #nonNullableUninitializedFinalLocal#isSet = false;
   function #nonNullableUninitializedFinalLocal#get() → core::int
     return #nonNullableUninitializedFinalLocal#isSet ?{core::int} #nonNullableUninitializedFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal");
-  function #nonNullableUninitializedFinalLocal#set(core::int #t18) → dynamic
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
     else {
       #nonNullableUninitializedFinalLocal#isSet = true;
-      return #nonNullableUninitializedFinalLocal = #t18;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     }
   lowered core::int? #nullableInitializedNonFinalLocal;
   lowered core::bool #nullableInitializedNonFinalLocal#isSet = false;
@@ -146,9 +146,9 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t19) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t19;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   lowered core::bool #nonNullableInitializedNonFinalLocal#isSet = false;
@@ -159,18 +159,18 @@
     }
     return #nonNullableInitializedNonFinalLocal{core::int};
   }
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t20) → dynamic {
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic {
     #nonNullableInitializedNonFinalLocal#isSet = true;
-    return #nonNullableInitializedNonFinalLocal = #t20;
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t21 = 0;
+      final core::int? #t10 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t21;
+      #nullableInitializedFinalLocal = #t10;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
@@ -179,48 +179,48 @@
   lowered core::bool #nonNullableInitializedFinalLocal#isSet = false;
   function #nonNullableInitializedFinalLocal#get() → core::int {
     if(!#nonNullableInitializedFinalLocal#isSet) {
-      final core::int #t22 = 0;
+      final core::int #t11 = 0;
       if(#nonNullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nonNullableInitializedFinalLocal");
-      #nonNullableInitializedFinalLocal = #t22;
+      #nonNullableInitializedFinalLocal = #t11;
       #nonNullableInitializedFinalLocal#isSet = true;
     }
     return #nonNullableInitializedFinalLocal{core::int};
   }
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t23 = self::_#uninitializedNonFinalTopLevelField in #t23{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
-static set uninitializedNonFinalTopLevelField(core::int #t24) → void {
+  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t12 = self::_#uninitializedNonFinalTopLevelField in #t12{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void {
   self::_#uninitializedNonFinalTopLevelField#isSet = true;
-  self::_#uninitializedNonFinalTopLevelField = #t24;
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 }
 static get uninitializedFinalTopLevelField() → core::int
-  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t25 = self::_#uninitializedFinalTopLevelField in #t25{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
-static set uninitializedFinalTopLevelField(core::int #t26) → void
+  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t13 = self::_#uninitializedFinalTopLevelField in #t13{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
   else {
     self::_#uninitializedFinalTopLevelField#isSet = true;
-    self::_#uninitializedFinalTopLevelField = #t26;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   }
 static get initializedNonFinalTopLevelField() → core::int {
   if(!self::_#initializedNonFinalTopLevelField#isSet) {
     self::_#initializedNonFinalTopLevelField = 0;
     self::_#initializedNonFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t27 = self::_#initializedNonFinalTopLevelField in #t27{core::int};
+  return let final core::int? #t14 = self::_#initializedNonFinalTopLevelField in #t14{core::int};
 }
-static set initializedNonFinalTopLevelField(core::int #t28) → void {
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void {
   self::_#initializedNonFinalTopLevelField#isSet = true;
-  self::_#initializedNonFinalTopLevelField = #t28;
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 }
 static get initializedFinalTopLevelField() → core::int {
   if(!self::_#initializedFinalTopLevelField#isSet) {
-    final core::int #t29 = 0;
+    final core::int #t15 = 0;
     if(self::_#initializedFinalTopLevelField#isSet)
       throw new _in::LateError::fieldADI("initializedFinalTopLevelField");
-    self::_#initializedFinalTopLevelField = #t29;
+    self::_#initializedFinalTopLevelField = #t15;
     self::_#initializedFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t30 = self::_#initializedFinalTopLevelField in #t30{core::int};
+  return let final core::int? #t16 = self::_#initializedFinalTopLevelField in #t16{core::int};
 }
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.modular.expect
index bfdde61..35fcde8 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.modular.expect
@@ -24,69 +24,69 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return self::Class::_#uninitializedNonFinalStaticField#isSet ?{core::int} let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField");
-  static set uninitializedNonFinalStaticField(core::int #t2) → void {
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void {
     self::Class::_#uninitializedNonFinalStaticField#isSet = true;
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   }
   static get uninitializedFinalStaticField() → core::int
-    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField#isSet)
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
     else {
       self::Class::_#uninitializedFinalStaticField#isSet = true;
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     }
   static get initializedNonFinalStaticField() → core::int {
     if(!self::Class::_#initializedNonFinalStaticField#isSet) {
       self::Class::_#initializedNonFinalStaticField = 0;
       self::Class::_#initializedNonFinalStaticField#isSet = true;
     }
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5{core::int};
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3{core::int};
   }
-  static set initializedNonFinalStaticField(core::int #t6) → void {
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void {
     self::Class::_#initializedNonFinalStaticField#isSet = true;
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   }
   static get initializedFinalStaticField() → core::int {
     if(!self::Class::_#initializedFinalStaticField#isSet) {
-      final core::int #t7 = 0;
+      final core::int #t4 = 0;
       if(self::Class::_#initializedFinalStaticField#isSet)
         throw new _in::LateError::fieldADI("initializedFinalStaticField");
-      self::Class::_#initializedFinalStaticField = #t7;
+      self::Class::_#initializedFinalStaticField = #t4;
       self::Class::_#initializedFinalStaticField#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#initializedFinalStaticField in #t8{core::int};
+    return let final core::int? #t5 = self::Class::_#initializedFinalStaticField in #t5{core::int};
   }
   get uninitializedFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
-  set uninitializedFinalInstanceField(core::int #t10) → void
+    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
     else {
       this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet} = true;
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t10;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     }
   get initializedNonFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet}{core::bool}) {
       this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0;
       this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t11{core::int};
+    return let final core::int? #t7 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t7{core::int};
   }
-  set initializedNonFinalInstanceField(core::int #t12) → void {
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t12;
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   }
   get initializedFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool}) {
-      final core::int #t13 = 0;
+      final core::int #t8 = 0;
       if(this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool})
         throw new _in::LateError::fieldADI("initializedFinalInstanceField");
-      this.{self::Class::_#Class#initializedFinalInstanceField} = #t13;
+      this.{self::Class::_#Class#initializedFinalInstanceField} = #t8;
       this.{self::Class::_#Class#initializedFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t14 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t14{core::int};
+    return let final core::int? #t9 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t9{core::int};
   }
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
@@ -103,39 +103,39 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t15) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t15;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   lowered core::bool #nonNullableUninitializedNonFinalLocal#isSet = false;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
     return #nonNullableUninitializedNonFinalLocal#isSet ?{core::int} #nonNullableUninitializedNonFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal");
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t16) → dynamic {
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic {
     #nonNullableUninitializedNonFinalLocal#isSet = true;
-    return #nonNullableUninitializedNonFinalLocal = #t16;
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t17) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t17;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   lowered core::bool #nonNullableUninitializedFinalLocal#isSet = false;
   function #nonNullableUninitializedFinalLocal#get() → core::int
     return #nonNullableUninitializedFinalLocal#isSet ?{core::int} #nonNullableUninitializedFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal");
-  function #nonNullableUninitializedFinalLocal#set(core::int #t18) → dynamic
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
     else {
       #nonNullableUninitializedFinalLocal#isSet = true;
-      return #nonNullableUninitializedFinalLocal = #t18;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     }
   lowered core::int? #nullableInitializedNonFinalLocal;
   lowered core::bool #nullableInitializedNonFinalLocal#isSet = false;
@@ -146,9 +146,9 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t19) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t19;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   lowered core::bool #nonNullableInitializedNonFinalLocal#isSet = false;
@@ -159,18 +159,18 @@
     }
     return #nonNullableInitializedNonFinalLocal{core::int};
   }
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t20) → dynamic {
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic {
     #nonNullableInitializedNonFinalLocal#isSet = true;
-    return #nonNullableInitializedNonFinalLocal = #t20;
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t21 = 0;
+      final core::int? #t10 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t21;
+      #nullableInitializedFinalLocal = #t10;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
@@ -179,48 +179,48 @@
   lowered core::bool #nonNullableInitializedFinalLocal#isSet = false;
   function #nonNullableInitializedFinalLocal#get() → core::int {
     if(!#nonNullableInitializedFinalLocal#isSet) {
-      final core::int #t22 = 0;
+      final core::int #t11 = 0;
       if(#nonNullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nonNullableInitializedFinalLocal");
-      #nonNullableInitializedFinalLocal = #t22;
+      #nonNullableInitializedFinalLocal = #t11;
       #nonNullableInitializedFinalLocal#isSet = true;
     }
     return #nonNullableInitializedFinalLocal{core::int};
   }
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t23 = self::_#uninitializedNonFinalTopLevelField in #t23{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
-static set uninitializedNonFinalTopLevelField(core::int #t24) → void {
+  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t12 = self::_#uninitializedNonFinalTopLevelField in #t12{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void {
   self::_#uninitializedNonFinalTopLevelField#isSet = true;
-  self::_#uninitializedNonFinalTopLevelField = #t24;
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 }
 static get uninitializedFinalTopLevelField() → core::int
-  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t25 = self::_#uninitializedFinalTopLevelField in #t25{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
-static set uninitializedFinalTopLevelField(core::int #t26) → void
+  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t13 = self::_#uninitializedFinalTopLevelField in #t13{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
   else {
     self::_#uninitializedFinalTopLevelField#isSet = true;
-    self::_#uninitializedFinalTopLevelField = #t26;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   }
 static get initializedNonFinalTopLevelField() → core::int {
   if(!self::_#initializedNonFinalTopLevelField#isSet) {
     self::_#initializedNonFinalTopLevelField = 0;
     self::_#initializedNonFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t27 = self::_#initializedNonFinalTopLevelField in #t27{core::int};
+  return let final core::int? #t14 = self::_#initializedNonFinalTopLevelField in #t14{core::int};
 }
-static set initializedNonFinalTopLevelField(core::int #t28) → void {
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void {
   self::_#initializedNonFinalTopLevelField#isSet = true;
-  self::_#initializedNonFinalTopLevelField = #t28;
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 }
 static get initializedFinalTopLevelField() → core::int {
   if(!self::_#initializedFinalTopLevelField#isSet) {
-    final core::int #t29 = 0;
+    final core::int #t15 = 0;
     if(self::_#initializedFinalTopLevelField#isSet)
       throw new _in::LateError::fieldADI("initializedFinalTopLevelField");
-    self::_#initializedFinalTopLevelField = #t29;
+    self::_#initializedFinalTopLevelField = #t15;
     self::_#initializedFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t30 = self::_#initializedFinalTopLevelField in #t30{core::int};
+  return let final core::int? #t16 = self::_#initializedFinalTopLevelField in #t16{core::int};
 }
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.outline.expect
index 99d4dee..61b98c7 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.outline.expect
@@ -21,16 +21,16 @@
   synthetic constructor •() → self::Class
     ;
   static get uninitializedNonFinalStaticField() → core::int;
-  static set uninitializedNonFinalStaticField(core::int #t1) → void;
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void;
   static get uninitializedFinalStaticField() → core::int;
-  static set uninitializedFinalStaticField(core::int #t2) → void;
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void;
   static get initializedNonFinalStaticField() → core::int;
-  static set initializedNonFinalStaticField(core::int #t3) → void;
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void;
   static get initializedFinalStaticField() → core::int;
   get uninitializedFinalInstanceField() → core::int;
-  set uninitializedFinalInstanceField(core::int #t4) → void;
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void;
   get initializedNonFinalInstanceField() → core::int;
-  set initializedNonFinalInstanceField(core::int #t5) → void;
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void;
   get initializedFinalInstanceField() → core::int;
 }
 static field core::int? _#uninitializedNonFinalTopLevelField;
@@ -46,9 +46,9 @@
 static method method() → dynamic
   ;
 static get uninitializedNonFinalTopLevelField() → core::int;
-static set uninitializedNonFinalTopLevelField(core::int #t6) → void;
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void;
 static get uninitializedFinalTopLevelField() → core::int;
-static set uninitializedFinalTopLevelField(core::int #t7) → void;
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void;
 static get initializedNonFinalTopLevelField() → core::int;
-static set initializedNonFinalTopLevelField(core::int #t8) → void;
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void;
 static get initializedFinalTopLevelField() → core::int;
diff --git a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.transformed.expect
index bfdde61..35fcde8 100644
--- a/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/skip_late_final_uninitialized_instance_fields/main.dart.weak.transformed.expect
@@ -24,69 +24,69 @@
     ;
   static get uninitializedNonFinalStaticField() → core::int
     return self::Class::_#uninitializedNonFinalStaticField#isSet ?{core::int} let final core::int? #t1 = self::Class::_#uninitializedNonFinalStaticField in #t1{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalStaticField");
-  static set uninitializedNonFinalStaticField(core::int #t2) → void {
+  static set uninitializedNonFinalStaticField(core::int uninitializedNonFinalStaticField#param) → void {
     self::Class::_#uninitializedNonFinalStaticField#isSet = true;
-    self::Class::_#uninitializedNonFinalStaticField = #t2;
+    self::Class::_#uninitializedNonFinalStaticField = uninitializedNonFinalStaticField#param;
   }
   static get uninitializedFinalStaticField() → core::int
-    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t3 = self::Class::_#uninitializedFinalStaticField in #t3{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
-  static set uninitializedFinalStaticField(core::int #t4) → void
+    return self::Class::_#uninitializedFinalStaticField#isSet ?{core::int} let final core::int? #t2 = self::Class::_#uninitializedFinalStaticField in #t2{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalStaticField");
+  static set uninitializedFinalStaticField(core::int uninitializedFinalStaticField#param) → void
     if(self::Class::_#uninitializedFinalStaticField#isSet)
       throw new _in::LateError::fieldAI("uninitializedFinalStaticField");
     else {
       self::Class::_#uninitializedFinalStaticField#isSet = true;
-      self::Class::_#uninitializedFinalStaticField = #t4;
+      self::Class::_#uninitializedFinalStaticField = uninitializedFinalStaticField#param;
     }
   static get initializedNonFinalStaticField() → core::int {
     if(!self::Class::_#initializedNonFinalStaticField#isSet) {
       self::Class::_#initializedNonFinalStaticField = 0;
       self::Class::_#initializedNonFinalStaticField#isSet = true;
     }
-    return let final core::int? #t5 = self::Class::_#initializedNonFinalStaticField in #t5{core::int};
+    return let final core::int? #t3 = self::Class::_#initializedNonFinalStaticField in #t3{core::int};
   }
-  static set initializedNonFinalStaticField(core::int #t6) → void {
+  static set initializedNonFinalStaticField(core::int initializedNonFinalStaticField#param) → void {
     self::Class::_#initializedNonFinalStaticField#isSet = true;
-    self::Class::_#initializedNonFinalStaticField = #t6;
+    self::Class::_#initializedNonFinalStaticField = initializedNonFinalStaticField#param;
   }
   static get initializedFinalStaticField() → core::int {
     if(!self::Class::_#initializedFinalStaticField#isSet) {
-      final core::int #t7 = 0;
+      final core::int #t4 = 0;
       if(self::Class::_#initializedFinalStaticField#isSet)
         throw new _in::LateError::fieldADI("initializedFinalStaticField");
-      self::Class::_#initializedFinalStaticField = #t7;
+      self::Class::_#initializedFinalStaticField = #t4;
       self::Class::_#initializedFinalStaticField#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#initializedFinalStaticField in #t8{core::int};
+    return let final core::int? #t5 = self::Class::_#initializedFinalStaticField in #t5{core::int};
   }
   get uninitializedFinalInstanceField() → core::int
-    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t9 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t9{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
-  set uninitializedFinalInstanceField(core::int #t10) → void
+    return this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool} ?{core::int} let final core::int? #t6 = this.{self::Class::_#Class#uninitializedFinalInstanceField}{core::int?} in #t6{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalInstanceField");
+  set uninitializedFinalInstanceField(core::int uninitializedFinalInstanceField#param) → void
     if(this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet}{core::bool})
       throw new _in::LateError::fieldAI("uninitializedFinalInstanceField");
     else {
       this.{self::Class::_#Class#uninitializedFinalInstanceField#isSet} = true;
-      this.{self::Class::_#Class#uninitializedFinalInstanceField} = #t10;
+      this.{self::Class::_#Class#uninitializedFinalInstanceField} = uninitializedFinalInstanceField#param;
     }
   get initializedNonFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet}{core::bool}) {
       this.{self::Class::_#Class#initializedNonFinalInstanceField} = 0;
       this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t11 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t11{core::int};
+    return let final core::int? #t7 = this.{self::Class::_#Class#initializedNonFinalInstanceField}{core::int?} in #t7{core::int};
   }
-  set initializedNonFinalInstanceField(core::int #t12) → void {
+  set initializedNonFinalInstanceField(core::int initializedNonFinalInstanceField#param) → void {
     this.{self::Class::_#Class#initializedNonFinalInstanceField#isSet} = true;
-    this.{self::Class::_#Class#initializedNonFinalInstanceField} = #t12;
+    this.{self::Class::_#Class#initializedNonFinalInstanceField} = initializedNonFinalInstanceField#param;
   }
   get initializedFinalInstanceField() → core::int {
     if(!this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool}) {
-      final core::int #t13 = 0;
+      final core::int #t8 = 0;
       if(this.{self::Class::_#Class#initializedFinalInstanceField#isSet}{core::bool})
         throw new _in::LateError::fieldADI("initializedFinalInstanceField");
-      this.{self::Class::_#Class#initializedFinalInstanceField} = #t13;
+      this.{self::Class::_#Class#initializedFinalInstanceField} = #t8;
       this.{self::Class::_#Class#initializedFinalInstanceField#isSet} = true;
     }
-    return let final core::int? #t14 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t14{core::int};
+    return let final core::int? #t9 = this.{self::Class::_#Class#initializedFinalInstanceField}{core::int?} in #t9{core::int};
   }
 }
 static field core::int? _#uninitializedNonFinalTopLevelField = null;
@@ -103,39 +103,39 @@
   lowered core::bool #nullableUninitializedNonFinalLocal#isSet = false;
   function #nullableUninitializedNonFinalLocal#get() → core::int?
     return #nullableUninitializedNonFinalLocal#isSet ?{core::int?} #nullableUninitializedNonFinalLocal : throw new _in::LateError::localNI("nullableUninitializedNonFinalLocal");
-  function #nullableUninitializedNonFinalLocal#set(core::int? #t15) → dynamic {
+  function #nullableUninitializedNonFinalLocal#set(core::int? nullableUninitializedNonFinalLocal#param) → dynamic {
     #nullableUninitializedNonFinalLocal#isSet = true;
-    return #nullableUninitializedNonFinalLocal = #t15;
+    return #nullableUninitializedNonFinalLocal = nullableUninitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableUninitializedNonFinalLocal;
   lowered core::bool #nonNullableUninitializedNonFinalLocal#isSet = false;
   function #nonNullableUninitializedNonFinalLocal#get() → core::int
     return #nonNullableUninitializedNonFinalLocal#isSet ?{core::int} #nonNullableUninitializedNonFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedNonFinalLocal");
-  function #nonNullableUninitializedNonFinalLocal#set(core::int #t16) → dynamic {
+  function #nonNullableUninitializedNonFinalLocal#set(core::int nonNullableUninitializedNonFinalLocal#param) → dynamic {
     #nonNullableUninitializedNonFinalLocal#isSet = true;
-    return #nonNullableUninitializedNonFinalLocal = #t16;
+    return #nonNullableUninitializedNonFinalLocal = nonNullableUninitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableUninitializedFinalLocal;
   lowered core::bool #nullableUninitializedFinalLocal#isSet = false;
   function #nullableUninitializedFinalLocal#get() → core::int?
     return #nullableUninitializedFinalLocal#isSet ?{core::int?} #nullableUninitializedFinalLocal : throw new _in::LateError::localNI("nullableUninitializedFinalLocal");
-  function #nullableUninitializedFinalLocal#set(core::int? #t17) → dynamic
+  function #nullableUninitializedFinalLocal#set(core::int? nullableUninitializedFinalLocal#param) → dynamic
     if(#nullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nullableUninitializedFinalLocal");
     else {
       #nullableUninitializedFinalLocal#isSet = true;
-      return #nullableUninitializedFinalLocal = #t17;
+      return #nullableUninitializedFinalLocal = nullableUninitializedFinalLocal#param;
     }
   lowered final core::int? #nonNullableUninitializedFinalLocal;
   lowered core::bool #nonNullableUninitializedFinalLocal#isSet = false;
   function #nonNullableUninitializedFinalLocal#get() → core::int
     return #nonNullableUninitializedFinalLocal#isSet ?{core::int} #nonNullableUninitializedFinalLocal{core::int} : throw new _in::LateError::localNI("nonNullableUninitializedFinalLocal");
-  function #nonNullableUninitializedFinalLocal#set(core::int #t18) → dynamic
+  function #nonNullableUninitializedFinalLocal#set(core::int nonNullableUninitializedFinalLocal#param) → dynamic
     if(#nonNullableUninitializedFinalLocal#isSet)
       throw new _in::LateError::localAI("nonNullableUninitializedFinalLocal");
     else {
       #nonNullableUninitializedFinalLocal#isSet = true;
-      return #nonNullableUninitializedFinalLocal = #t18;
+      return #nonNullableUninitializedFinalLocal = nonNullableUninitializedFinalLocal#param;
     }
   lowered core::int? #nullableInitializedNonFinalLocal;
   lowered core::bool #nullableInitializedNonFinalLocal#isSet = false;
@@ -146,9 +146,9 @@
     }
     return #nullableInitializedNonFinalLocal;
   }
-  function #nullableInitializedNonFinalLocal#set(core::int? #t19) → dynamic {
+  function #nullableInitializedNonFinalLocal#set(core::int? nullableInitializedNonFinalLocal#param) → dynamic {
     #nullableInitializedNonFinalLocal#isSet = true;
-    return #nullableInitializedNonFinalLocal = #t19;
+    return #nullableInitializedNonFinalLocal = nullableInitializedNonFinalLocal#param;
   }
   lowered core::int? #nonNullableInitializedNonFinalLocal;
   lowered core::bool #nonNullableInitializedNonFinalLocal#isSet = false;
@@ -159,18 +159,18 @@
     }
     return #nonNullableInitializedNonFinalLocal{core::int};
   }
-  function #nonNullableInitializedNonFinalLocal#set(core::int #t20) → dynamic {
+  function #nonNullableInitializedNonFinalLocal#set(core::int nonNullableInitializedNonFinalLocal#param) → dynamic {
     #nonNullableInitializedNonFinalLocal#isSet = true;
-    return #nonNullableInitializedNonFinalLocal = #t20;
+    return #nonNullableInitializedNonFinalLocal = nonNullableInitializedNonFinalLocal#param;
   }
   lowered final core::int? #nullableInitializedFinalLocal;
   lowered core::bool #nullableInitializedFinalLocal#isSet = false;
   function #nullableInitializedFinalLocal#get() → core::int? {
     if(!#nullableInitializedFinalLocal#isSet) {
-      final core::int? #t21 = 0;
+      final core::int? #t10 = 0;
       if(#nullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nullableInitializedFinalLocal");
-      #nullableInitializedFinalLocal = #t21;
+      #nullableInitializedFinalLocal = #t10;
       #nullableInitializedFinalLocal#isSet = true;
     }
     return #nullableInitializedFinalLocal;
@@ -179,48 +179,48 @@
   lowered core::bool #nonNullableInitializedFinalLocal#isSet = false;
   function #nonNullableInitializedFinalLocal#get() → core::int {
     if(!#nonNullableInitializedFinalLocal#isSet) {
-      final core::int #t22 = 0;
+      final core::int #t11 = 0;
       if(#nonNullableInitializedFinalLocal#isSet)
         throw new _in::LateError::localADI("nonNullableInitializedFinalLocal");
-      #nonNullableInitializedFinalLocal = #t22;
+      #nonNullableInitializedFinalLocal = #t11;
       #nonNullableInitializedFinalLocal#isSet = true;
     }
     return #nonNullableInitializedFinalLocal{core::int};
   }
 }
 static get uninitializedNonFinalTopLevelField() → core::int
-  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t23 = self::_#uninitializedNonFinalTopLevelField in #t23{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
-static set uninitializedNonFinalTopLevelField(core::int #t24) → void {
+  return self::_#uninitializedNonFinalTopLevelField#isSet ?{core::int} let final core::int? #t12 = self::_#uninitializedNonFinalTopLevelField in #t12{core::int} : throw new _in::LateError::fieldNI("uninitializedNonFinalTopLevelField");
+static set uninitializedNonFinalTopLevelField(core::int uninitializedNonFinalTopLevelField#param) → void {
   self::_#uninitializedNonFinalTopLevelField#isSet = true;
-  self::_#uninitializedNonFinalTopLevelField = #t24;
+  self::_#uninitializedNonFinalTopLevelField = uninitializedNonFinalTopLevelField#param;
 }
 static get uninitializedFinalTopLevelField() → core::int
-  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t25 = self::_#uninitializedFinalTopLevelField in #t25{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
-static set uninitializedFinalTopLevelField(core::int #t26) → void
+  return self::_#uninitializedFinalTopLevelField#isSet ?{core::int} let final core::int? #t13 = self::_#uninitializedFinalTopLevelField in #t13{core::int} : throw new _in::LateError::fieldNI("uninitializedFinalTopLevelField");
+static set uninitializedFinalTopLevelField(core::int uninitializedFinalTopLevelField#param) → void
   if(self::_#uninitializedFinalTopLevelField#isSet)
     throw new _in::LateError::fieldAI("uninitializedFinalTopLevelField");
   else {
     self::_#uninitializedFinalTopLevelField#isSet = true;
-    self::_#uninitializedFinalTopLevelField = #t26;
+    self::_#uninitializedFinalTopLevelField = uninitializedFinalTopLevelField#param;
   }
 static get initializedNonFinalTopLevelField() → core::int {
   if(!self::_#initializedNonFinalTopLevelField#isSet) {
     self::_#initializedNonFinalTopLevelField = 0;
     self::_#initializedNonFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t27 = self::_#initializedNonFinalTopLevelField in #t27{core::int};
+  return let final core::int? #t14 = self::_#initializedNonFinalTopLevelField in #t14{core::int};
 }
-static set initializedNonFinalTopLevelField(core::int #t28) → void {
+static set initializedNonFinalTopLevelField(core::int initializedNonFinalTopLevelField#param) → void {
   self::_#initializedNonFinalTopLevelField#isSet = true;
-  self::_#initializedNonFinalTopLevelField = #t28;
+  self::_#initializedNonFinalTopLevelField = initializedNonFinalTopLevelField#param;
 }
 static get initializedFinalTopLevelField() → core::int {
   if(!self::_#initializedFinalTopLevelField#isSet) {
-    final core::int #t29 = 0;
+    final core::int #t15 = 0;
     if(self::_#initializedFinalTopLevelField#isSet)
       throw new _in::LateError::fieldADI("initializedFinalTopLevelField");
-    self::_#initializedFinalTopLevelField = #t29;
+    self::_#initializedFinalTopLevelField = #t15;
     self::_#initializedFinalTopLevelField#isSet = true;
   }
-  return let final core::int? #t30 = self::_#initializedFinalTopLevelField in #t30{core::int};
+  return let final core::int? #t16 = self::_#initializedFinalTopLevelField in #t16{core::int};
 }
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect
index aaa46cf..c42c449 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.expect
@@ -13,7 +13,7 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{self::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{self::A::_#A#x} = x#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect
index aaa46cf..c42c449 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.strong.transformed.expect
@@ -13,7 +13,7 @@
     ;
   get x() → core::int
     return let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
-  set x(core::int #t2) → void
-    this.{self::A::_#A#x} = #t2;
+  set x(core::int x#param) → void
+    this.{self::A::_#A#x} = x#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.expect
index 13fee7d..5a51a9a 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.expect
@@ -14,9 +14,9 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.modular.expect
index 13fee7d..5a51a9a 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.modular.expect
@@ -14,9 +14,9 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.outline.expect
index 347f1cf..bd0156b 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.outline.expect
@@ -10,7 +10,7 @@
   constructor bar() → self::A
     ;
   get x() → core::int;
-  set x(core::int #t1) → void;
+  set x(core::int x#param) → void;
 }
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.transformed.expect
index 13fee7d..5a51a9a 100644
--- a/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering/uninitialized_non_nullable_late_fields.dart.weak.transformed.expect
@@ -14,9 +14,9 @@
     ;
   get x() → core::int
     return this.{self::A::_#A#x#isSet}{core::bool} ?{core::int} let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1{core::int} : throw new _in::LateError::fieldNI("x");
-  set x(core::int #t2) → void {
+  set x(core::int x#param) → void {
     this.{self::A::_#A#x#isSet} = true;
-    this.{self::A::_#A#x} = #t2;
+    this.{self::A::_#A#x} = x#param;
   }
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect
index 1d4a7c3..894932f 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.expect
@@ -14,40 +14,40 @@
 static field Never? _#neverTopLevelField = null;
 static get nullableTopLevelField() → core::int?
   return let final core::int? #t1 = self::_#nullableTopLevelField in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::fieldNI("nullableTopLevelField") : #t1{core::int?};
-static set nullableTopLevelField(core::int? #t2) → void
-  self::_#nullableTopLevelField = #t2;
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 static get nonNullableTopLevelField() → core::int
-  return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
-static set nonNullableTopLevelField(core::int #t4) → void
-  self::_#nonNullableTopLevelField = #t4;
+  return let final core::int? #t2 = self::_#nonNullableTopLevelField in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t2{core::int};
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 static get nullableTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t5 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t5) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t5{core::int?};
-static set nullableTopLevelFieldWithInitializer(core::int? #t6) → void
-  self::_#nullableTopLevelFieldWithInitializer = #t6;
+  return let final core::int? #t3 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t3) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t3{core::int?};
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 static get nonNullableTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in #t7 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
-static set nonNullableTopLevelFieldWithInitializer(core::int #t8) → void
-  self::_#nonNullableTopLevelFieldWithInitializer = #t8;
+  return let final core::int? #t4 = self::_#nonNullableTopLevelFieldWithInitializer in #t4 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t4{core::int};
+static set nonNullableTopLevelFieldWithInitializer(core::int nonNullableTopLevelFieldWithInitializer#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer = nonNullableTopLevelFieldWithInitializer#param;
 static get nullableFinalTopLevelField() → core::int?
-  return let final core::int? #t9 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t9{core::int?};
-static set nullableFinalTopLevelField(core::int? #t10) → void
+  return let final core::int? #t5 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t5{core::int?};
+static set nullableFinalTopLevelField(core::int? nullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nullableFinalTopLevelField))
-    self::_#nullableFinalTopLevelField = #t10;
+    self::_#nullableFinalTopLevelField = nullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nullableFinalTopLevelField");
 static get nonNullableFinalTopLevelField() → core::int
-  return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
-static set nonNullableFinalTopLevelField(core::int #t12) → void
+  return let final core::int? #t6 = self::_#nonNullableFinalTopLevelField in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t6{core::int};
+static set nonNullableFinalTopLevelField(core::int nonNullableFinalTopLevelField#param) → void
   if(self::_#nonNullableFinalTopLevelField == null)
-    self::_#nonNullableFinalTopLevelField = #t12;
+    self::_#nonNullableFinalTopLevelField = nonNullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nonNullableFinalTopLevelField");
 static get nullableFinalTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t13 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t13;
+  return let final core::int? #t7 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t8 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t7;
 static get nonNullableFinalTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15{core::int};
+  return let final core::int? #t9 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t9 == null ?{core::int} let final core::int #t10 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t10 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t9{core::int};
 static get neverTopLevelField() → Never
-  return let final Never? #t17 = self::_#neverTopLevelField in #t17 == null ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
-static set neverTopLevelField(Never #t18) → void
-  self::_#neverTopLevelField = #t18;
+  return let final Never? #t11 = self::_#neverTopLevelField in #t11 == null ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t11{Never};
+static set neverTopLevelField(Never neverTopLevelField#param) → void
+  self::_#neverTopLevelField = neverTopLevelField#param;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect
index 2f61bd0..8450f92 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.strong.transformed.expect
@@ -14,42 +14,42 @@
 static field Never? _#neverTopLevelField = null;
 static get nullableTopLevelField() → core::int?
   return let final core::int? #t1 = self::_#nullableTopLevelField in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::fieldNI("nullableTopLevelField") : #t1{core::int?};
-static set nullableTopLevelField(core::int? #t2) → void
-  self::_#nullableTopLevelField = #t2;
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 static get nonNullableTopLevelField() → core::int
-  return let final core::int? #t3 = self::_#nonNullableTopLevelField in #t3 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
-static set nonNullableTopLevelField(core::int #t4) → void
-  self::_#nonNullableTopLevelField = #t4;
+  return let final core::int? #t2 = self::_#nonNullableTopLevelField in #t2 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t2{core::int};
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 static get nullableTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t5 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t5) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t5{core::int?};
-static set nullableTopLevelFieldWithInitializer(core::int? #t6) → void
-  self::_#nullableTopLevelFieldWithInitializer = #t6;
+  return let final core::int? #t3 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t3) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t3{core::int?};
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 static get nonNullableTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in #t7 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
-static set nonNullableTopLevelFieldWithInitializer(core::int #t8) → void
-  self::_#nonNullableTopLevelFieldWithInitializer = #t8;
+  return let final core::int? #t4 = self::_#nonNullableTopLevelFieldWithInitializer in #t4 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t4{core::int};
+static set nonNullableTopLevelFieldWithInitializer(core::int nonNullableTopLevelFieldWithInitializer#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer = nonNullableTopLevelFieldWithInitializer#param;
 static get nullableFinalTopLevelField() → core::int?
-  return let final core::int? #t9 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t9{core::int?};
-static set nullableFinalTopLevelField(core::int? #t10) → void
+  return let final core::int? #t5 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t5{core::int?};
+static set nullableFinalTopLevelField(core::int? nullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nullableFinalTopLevelField))
-    self::_#nullableFinalTopLevelField = #t10;
+    self::_#nullableFinalTopLevelField = nullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nullableFinalTopLevelField");
 static get nonNullableFinalTopLevelField() → core::int
-  return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in #t11 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
-static set nonNullableFinalTopLevelField(core::int #t12) → void
+  return let final core::int? #t6 = self::_#nonNullableFinalTopLevelField in #t6 == null ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t6{core::int};
+static set nonNullableFinalTopLevelField(core::int nonNullableFinalTopLevelField#param) → void
   if(self::_#nonNullableFinalTopLevelField == null)
-    self::_#nonNullableFinalTopLevelField = #t12;
+    self::_#nonNullableFinalTopLevelField = nonNullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nonNullableFinalTopLevelField");
 static get nullableFinalTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t13 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t13;
+  return let final core::int? #t7 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t8 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t7;
 static get nonNullableFinalTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15{core::int};
+  return let final core::int? #t9 = self::_#nonNullableFinalTopLevelFieldWithInitializer in #t9 == null ?{core::int} let final core::int #t10 = 0 in self::_#nonNullableFinalTopLevelFieldWithInitializer == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t10 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t9{core::int};
 static get neverTopLevelField() → Never
-  return let final Never? #t17 = self::_#neverTopLevelField in #t17 == null ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
-static set neverTopLevelField(Never #t18) → void
-  self::_#neverTopLevelField = #t18;
+  return let final Never? #t11 = self::_#neverTopLevelField in #t11 == null ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t11{Never};
+static set neverTopLevelField(Never neverTopLevelField#param) → void
+  self::_#neverTopLevelField = neverTopLevelField#param;
 static method main() → dynamic {}
 
 
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.expect
index c037d72..7386247 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.expect
@@ -14,40 +14,40 @@
 static field Never? _#neverTopLevelField = _in::createSentinel<Never>();
 static get nullableTopLevelField() → core::int?
   return let final core::int? #t1 = self::_#nullableTopLevelField in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::fieldNI("nullableTopLevelField") : #t1{core::int?};
-static set nullableTopLevelField(core::int? #t2) → void
-  self::_#nullableTopLevelField = #t2;
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 static get nonNullableTopLevelField() → core::int
-  return let final core::int? #t3 = self::_#nonNullableTopLevelField in _in::isSentinel(#t3) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
-static set nonNullableTopLevelField(core::int #t4) → void
-  self::_#nonNullableTopLevelField = #t4;
+  return let final core::int? #t2 = self::_#nonNullableTopLevelField in _in::isSentinel(#t2) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t2{core::int};
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 static get nullableTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t5 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t5) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t5{core::int?};
-static set nullableTopLevelFieldWithInitializer(core::int? #t6) → void
-  self::_#nullableTopLevelFieldWithInitializer = #t6;
+  return let final core::int? #t3 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t3) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t3{core::int?};
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 static get nonNullableTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
-static set nonNullableTopLevelFieldWithInitializer(core::int #t8) → void
-  self::_#nonNullableTopLevelFieldWithInitializer = #t8;
+  return let final core::int? #t4 = self::_#nonNullableTopLevelFieldWithInitializer in _in::isSentinel(#t4) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t4{core::int};
+static set nonNullableTopLevelFieldWithInitializer(core::int nonNullableTopLevelFieldWithInitializer#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer = nonNullableTopLevelFieldWithInitializer#param;
 static get nullableFinalTopLevelField() → core::int?
-  return let final core::int? #t9 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t9{core::int?};
-static set nullableFinalTopLevelField(core::int? #t10) → void
+  return let final core::int? #t5 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t5{core::int?};
+static set nullableFinalTopLevelField(core::int? nullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nullableFinalTopLevelField))
-    self::_#nullableFinalTopLevelField = #t10;
+    self::_#nullableFinalTopLevelField = nullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nullableFinalTopLevelField");
 static get nonNullableFinalTopLevelField() → core::int
-  return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in _in::isSentinel(#t11) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
-static set nonNullableFinalTopLevelField(core::int #t12) → void
+  return let final core::int? #t6 = self::_#nonNullableFinalTopLevelField in _in::isSentinel(#t6) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t6{core::int};
+static set nonNullableFinalTopLevelField(core::int nonNullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nonNullableFinalTopLevelField))
-    self::_#nonNullableFinalTopLevelField = #t12;
+    self::_#nonNullableFinalTopLevelField = nonNullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nonNullableFinalTopLevelField");
 static get nullableFinalTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t13 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t13;
+  return let final core::int? #t7 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t8 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t7;
 static get nonNullableFinalTopLevelFieldWithInitializer() → core::int
-  return let final core::int #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t15) ?{core::int} let final core::int #t16 = 0 in _in::isSentinel(self::_#nonNullableFinalTopLevelFieldWithInitializer) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15;
+  return let final core::int #t9 = self::_#nonNullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t9) ?{core::int} let final core::int #t10 = 0 in _in::isSentinel(self::_#nonNullableFinalTopLevelFieldWithInitializer) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t10 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t9;
 static get neverTopLevelField() → Never
-  return let final Never? #t17 = self::_#neverTopLevelField in _in::isSentinel(#t17) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
-static set neverTopLevelField(Never #t18) → void
-  self::_#neverTopLevelField = #t18;
+  return let final Never? #t11 = self::_#neverTopLevelField in _in::isSentinel(#t11) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t11{Never};
+static set neverTopLevelField(Never neverTopLevelField#param) → void
+  self::_#neverTopLevelField = neverTopLevelField#param;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.modular.expect
index c037d72..7386247 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.modular.expect
@@ -14,40 +14,40 @@
 static field Never? _#neverTopLevelField = _in::createSentinel<Never>();
 static get nullableTopLevelField() → core::int?
   return let final core::int? #t1 = self::_#nullableTopLevelField in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::fieldNI("nullableTopLevelField") : #t1{core::int?};
-static set nullableTopLevelField(core::int? #t2) → void
-  self::_#nullableTopLevelField = #t2;
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 static get nonNullableTopLevelField() → core::int
-  return let final core::int? #t3 = self::_#nonNullableTopLevelField in _in::isSentinel(#t3) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
-static set nonNullableTopLevelField(core::int #t4) → void
-  self::_#nonNullableTopLevelField = #t4;
+  return let final core::int? #t2 = self::_#nonNullableTopLevelField in _in::isSentinel(#t2) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t2{core::int};
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 static get nullableTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t5 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t5) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t5{core::int?};
-static set nullableTopLevelFieldWithInitializer(core::int? #t6) → void
-  self::_#nullableTopLevelFieldWithInitializer = #t6;
+  return let final core::int? #t3 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t3) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t3{core::int?};
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 static get nonNullableTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
-static set nonNullableTopLevelFieldWithInitializer(core::int #t8) → void
-  self::_#nonNullableTopLevelFieldWithInitializer = #t8;
+  return let final core::int? #t4 = self::_#nonNullableTopLevelFieldWithInitializer in _in::isSentinel(#t4) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t4{core::int};
+static set nonNullableTopLevelFieldWithInitializer(core::int nonNullableTopLevelFieldWithInitializer#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer = nonNullableTopLevelFieldWithInitializer#param;
 static get nullableFinalTopLevelField() → core::int?
-  return let final core::int? #t9 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t9{core::int?};
-static set nullableFinalTopLevelField(core::int? #t10) → void
+  return let final core::int? #t5 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t5{core::int?};
+static set nullableFinalTopLevelField(core::int? nullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nullableFinalTopLevelField))
-    self::_#nullableFinalTopLevelField = #t10;
+    self::_#nullableFinalTopLevelField = nullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nullableFinalTopLevelField");
 static get nonNullableFinalTopLevelField() → core::int
-  return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in _in::isSentinel(#t11) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
-static set nonNullableFinalTopLevelField(core::int #t12) → void
+  return let final core::int? #t6 = self::_#nonNullableFinalTopLevelField in _in::isSentinel(#t6) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t6{core::int};
+static set nonNullableFinalTopLevelField(core::int nonNullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nonNullableFinalTopLevelField))
-    self::_#nonNullableFinalTopLevelField = #t12;
+    self::_#nonNullableFinalTopLevelField = nonNullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nonNullableFinalTopLevelField");
 static get nullableFinalTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t13 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t13;
+  return let final core::int? #t7 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t8 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t7;
 static get nonNullableFinalTopLevelFieldWithInitializer() → core::int
-  return let final core::int #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t15) ?{core::int} let final core::int #t16 = 0 in _in::isSentinel(self::_#nonNullableFinalTopLevelFieldWithInitializer) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15;
+  return let final core::int #t9 = self::_#nonNullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t9) ?{core::int} let final core::int #t10 = 0 in _in::isSentinel(self::_#nonNullableFinalTopLevelFieldWithInitializer) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t10 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t9;
 static get neverTopLevelField() → Never
-  return let final Never? #t17 = self::_#neverTopLevelField in _in::isSentinel(#t17) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
-static set neverTopLevelField(Never #t18) → void
-  self::_#neverTopLevelField = #t18;
+  return let final Never? #t11 = self::_#neverTopLevelField in _in::isSentinel(#t11) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t11{Never};
+static set neverTopLevelField(Never neverTopLevelField#param) → void
+  self::_#neverTopLevelField = neverTopLevelField#param;
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.outline.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.outline.expect
index f88db33..5362416 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.outline.expect
@@ -12,20 +12,20 @@
 static field core::int? _#nonNullableFinalTopLevelFieldWithInitializer;
 static field Never? _#neverTopLevelField;
 static get nullableTopLevelField() → core::int?;
-static set nullableTopLevelField(core::int? #t1) → void;
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void;
 static get nonNullableTopLevelField() → core::int;
-static set nonNullableTopLevelField(core::int #t2) → void;
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void;
 static get nullableTopLevelFieldWithInitializer() → core::int?;
-static set nullableTopLevelFieldWithInitializer(core::int? #t3) → void;
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void;
 static get nonNullableTopLevelFieldWithInitializer() → core::int;
-static set nonNullableTopLevelFieldWithInitializer(core::int #t4) → void;
+static set nonNullableTopLevelFieldWithInitializer(core::int nonNullableTopLevelFieldWithInitializer#param) → void;
 static get nullableFinalTopLevelField() → core::int?;
-static set nullableFinalTopLevelField(core::int? #t5) → void;
+static set nullableFinalTopLevelField(core::int? nullableFinalTopLevelField#param) → void;
 static get nonNullableFinalTopLevelField() → core::int;
-static set nonNullableFinalTopLevelField(core::int #t6) → void;
+static set nonNullableFinalTopLevelField(core::int nonNullableFinalTopLevelField#param) → void;
 static get nullableFinalTopLevelFieldWithInitializer() → core::int?;
 static get nonNullableFinalTopLevelFieldWithInitializer() → core::int;
 static get neverTopLevelField() → Never;
-static set neverTopLevelField(Never #t7) → void;
+static set neverTopLevelField(Never neverTopLevelField#param) → void;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.transformed.expect
index 24976f8..e689c28 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_fields.dart.weak.transformed.expect
@@ -14,42 +14,42 @@
 static field Never? _#neverTopLevelField = _in::createSentinel<Never>();
 static get nullableTopLevelField() → core::int?
   return let final core::int? #t1 = self::_#nullableTopLevelField in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::fieldNI("nullableTopLevelField") : #t1{core::int?};
-static set nullableTopLevelField(core::int? #t2) → void
-  self::_#nullableTopLevelField = #t2;
+static set nullableTopLevelField(core::int? nullableTopLevelField#param) → void
+  self::_#nullableTopLevelField = nullableTopLevelField#param;
 static get nonNullableTopLevelField() → core::int
-  return let final core::int? #t3 = self::_#nonNullableTopLevelField in _in::isSentinel(#t3) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t3{core::int};
-static set nonNullableTopLevelField(core::int #t4) → void
-  self::_#nonNullableTopLevelField = #t4;
+  return let final core::int? #t2 = self::_#nonNullableTopLevelField in _in::isSentinel(#t2) ?{core::int} throw new _in::LateError::fieldNI("nonNullableTopLevelField") : #t2{core::int};
+static set nonNullableTopLevelField(core::int nonNullableTopLevelField#param) → void
+  self::_#nonNullableTopLevelField = nonNullableTopLevelField#param;
 static get nullableTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t5 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t5) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t5{core::int?};
-static set nullableTopLevelFieldWithInitializer(core::int? #t6) → void
-  self::_#nullableTopLevelFieldWithInitializer = #t6;
+  return let final core::int? #t3 = self::_#nullableTopLevelFieldWithInitializer in _in::isSentinel(#t3) ?{core::int?} self::_#nullableTopLevelFieldWithInitializer = null : #t3{core::int?};
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 static get nonNullableTopLevelFieldWithInitializer() → core::int
-  return let final core::int? #t7 = self::_#nonNullableTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t7{core::int};
-static set nonNullableTopLevelFieldWithInitializer(core::int #t8) → void
-  self::_#nonNullableTopLevelFieldWithInitializer = #t8;
+  return let final core::int? #t4 = self::_#nonNullableTopLevelFieldWithInitializer in _in::isSentinel(#t4) ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer = 0 : #t4{core::int};
+static set nonNullableTopLevelFieldWithInitializer(core::int nonNullableTopLevelFieldWithInitializer#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer = nonNullableTopLevelFieldWithInitializer#param;
 static get nullableFinalTopLevelField() → core::int?
-  return let final core::int? #t9 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t9{core::int?};
-static set nullableFinalTopLevelField(core::int? #t10) → void
+  return let final core::int? #t5 = self::_#nullableFinalTopLevelField in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::fieldNI("nullableFinalTopLevelField") : #t5{core::int?};
+static set nullableFinalTopLevelField(core::int? nullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nullableFinalTopLevelField))
-    self::_#nullableFinalTopLevelField = #t10;
+    self::_#nullableFinalTopLevelField = nullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nullableFinalTopLevelField");
 static get nonNullableFinalTopLevelField() → core::int
-  return let final core::int? #t11 = self::_#nonNullableFinalTopLevelField in _in::isSentinel(#t11) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t11{core::int};
-static set nonNullableFinalTopLevelField(core::int #t12) → void
+  return let final core::int? #t6 = self::_#nonNullableFinalTopLevelField in _in::isSentinel(#t6) ?{core::int} throw new _in::LateError::fieldNI("nonNullableFinalTopLevelField") : #t6{core::int};
+static set nonNullableFinalTopLevelField(core::int nonNullableFinalTopLevelField#param) → void
   if(_in::isSentinel(self::_#nonNullableFinalTopLevelField))
-    self::_#nonNullableFinalTopLevelField = #t12;
+    self::_#nonNullableFinalTopLevelField = nonNullableFinalTopLevelField#param;
   else
     throw new _in::LateError::fieldAI("nonNullableFinalTopLevelField");
 static get nullableFinalTopLevelFieldWithInitializer() → core::int?
-  return let final core::int? #t13 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t14 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t13;
+  return let final core::int? #t7 = self::_#nullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(self::_#nullableFinalTopLevelFieldWithInitializer) ?{core::int?} self::_#nullableFinalTopLevelFieldWithInitializer = #t8 : throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer") : #t7;
 static get nonNullableFinalTopLevelFieldWithInitializer() → core::int
-  return let final core::int #t15 = self::_#nonNullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t15) ?{core::int} let final core::int #t16 = 0 in _in::isSentinel(self::_#nonNullableFinalTopLevelFieldWithInitializer) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t16 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t15;
+  return let final core::int #t9 = self::_#nonNullableFinalTopLevelFieldWithInitializer in _in::isSentinel(#t9) ?{core::int} let final core::int #t10 = 0 in _in::isSentinel(self::_#nonNullableFinalTopLevelFieldWithInitializer) ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer = #t10 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer") : #t9;
 static get neverTopLevelField() → Never
-  return let final Never? #t17 = self::_#neverTopLevelField in _in::isSentinel(#t17) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t17{Never};
-static set neverTopLevelField(Never #t18) → void
-  self::_#neverTopLevelField = #t18;
+  return let final Never? #t11 = self::_#neverTopLevelField in _in::isSentinel(#t11) ?{Never} throw new _in::LateError::fieldNI("neverTopLevelField") : #t11{Never};
+static set neverTopLevelField(Never neverTopLevelField#param) → void
+  self::_#neverTopLevelField = neverTopLevelField#param;
 static method main() → dynamic {}
 
 
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect
index 7b794cc..7f9c20d 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.expect
@@ -7,49 +7,49 @@
   lowered core::int? #nullableTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocal#get() → core::int?
     return let final core::int? #t1 = #nullableTopLevelLocal in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::localNI("nullableTopLevelLocal") : #t1{core::int?};
-  function #nullableTopLevelLocal#set(core::int? #t2) → dynamic
-    return #nullableTopLevelLocal = #t2;
+  function #nullableTopLevelLocal#set(core::int? nullableTopLevelLocal#param) → dynamic
+    return #nullableTopLevelLocal = nullableTopLevelLocal#param;
   lowered core::int? #nonNullableTopLevelLocal;
   function #nonNullableTopLevelLocal#get() → core::int
-    return let final core::int? #t3 = #nonNullableTopLevelLocal in #t3 == null ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
-  function #nonNullableTopLevelLocal#set(core::int #t4) → dynamic
-    return #nonNullableTopLevelLocal = #t4;
+    return let final core::int? #t2 = #nonNullableTopLevelLocal in #t2 == null ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t2{core::int};
+  function #nonNullableTopLevelLocal#set(core::int nonNullableTopLevelLocal#param) → dynamic
+    return #nonNullableTopLevelLocal = nonNullableTopLevelLocal#param;
   lowered core::int? #nullableTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t5 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t5) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t5{core::int?};
-  function #nullableTopLevelLocalWithInitializer#set(core::int? #t6) → dynamic
-    return #nullableTopLevelLocalWithInitializer = #t6;
+    return let final core::int? #t3 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t3) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t3{core::int?};
+  function #nullableTopLevelLocalWithInitializer#set(core::int? nullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nullableTopLevelLocalWithInitializer = nullableTopLevelLocalWithInitializer#param;
   lowered core::int? #nonNullableTopLevelLocalWithInitializer;
   function #nonNullableTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in #t7 == null ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
-  function #nonNullableTopLevelLocalWithInitializer#set(core::int #t8) → dynamic
-    return #nonNullableTopLevelLocalWithInitializer = #t8;
+    return let final core::int? #t4 = #nonNullableTopLevelLocalWithInitializer in #t4 == null ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t4{core::int};
+  function #nonNullableTopLevelLocalWithInitializer#set(core::int nonNullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nonNullableTopLevelLocalWithInitializer = nonNullableTopLevelLocalWithInitializer#param;
   lowered final core::int? #nullableFinalTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocal#get() → core::int?
-    return let final core::int? #t9 = #nullableFinalTopLevelLocal in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t9{core::int?};
-  function #nullableFinalTopLevelLocal#set(core::int? #t10) → dynamic
+    return let final core::int? #t5 = #nullableFinalTopLevelLocal in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t5{core::int?};
+  function #nullableFinalTopLevelLocal#set(core::int? nullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nullableFinalTopLevelLocal))
-      return #nullableFinalTopLevelLocal = #t10;
+      return #nullableFinalTopLevelLocal = nullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nullableFinalTopLevelLocal");
   lowered final core::int? #nonNullableFinalTopLevelLocal;
   function #nonNullableFinalTopLevelLocal#get() → core::int
-    return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
-  function #nonNullableFinalTopLevelLocal#set(core::int #t12) → dynamic
+    return let final core::int? #t6 = #nonNullableFinalTopLevelLocal in #t6 == null ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t6{core::int};
+  function #nonNullableFinalTopLevelLocal#set(core::int nonNullableFinalTopLevelLocal#param) → dynamic
     if(#nonNullableFinalTopLevelLocal == null)
-      return #nonNullableFinalTopLevelLocal = #t12;
+      return #nonNullableFinalTopLevelLocal = nonNullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableFinalTopLevelLocal");
   lowered final core::int? #nullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t13 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t14 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t13;
+    return let final core::int? #t7 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t8 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t7;
   lowered final core::int? #nonNullableFinalTopLevelLocalWithInitializer;
   function #nonNullableFinalTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int? #t15 = #nonNullableFinalTopLevelLocalWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in #nonNullableFinalTopLevelLocalWithInitializer == null ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15{core::int};
+    return let final core::int? #t9 = #nonNullableFinalTopLevelLocalWithInitializer in #t9 == null ?{core::int} let final core::int #t10 = 0 in #nonNullableFinalTopLevelLocalWithInitializer == null ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t10 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t9{core::int};
   lowered Null #neverLocal;
   function #neverLocal#get() → Never
-    return let final Never? #t17 = #neverLocal in #t17 == null ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
-  function #neverLocal#set(Never #t18) → dynamic
-    return #neverLocal = #t18;
+    return let final Never? #t11 = #neverLocal in #t11 == null ?{Never} throw new _in::LateError::localNI("neverLocal") : #t11{Never};
+  function #neverLocal#set(Never neverLocal#param) → dynamic
+    return #neverLocal = neverLocal#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect
index c00b5b9..79e2a5d 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.strong.transformed.expect
@@ -7,50 +7,50 @@
   lowered core::int? #nullableTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocal#get() → core::int?
     return let final core::int? #t1 = #nullableTopLevelLocal in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::localNI("nullableTopLevelLocal") : #t1{core::int?};
-  function #nullableTopLevelLocal#set(core::int? #t2) → dynamic
-    return #nullableTopLevelLocal = #t2;
+  function #nullableTopLevelLocal#set(core::int? nullableTopLevelLocal#param) → dynamic
+    return #nullableTopLevelLocal = nullableTopLevelLocal#param;
   lowered core::int? #nonNullableTopLevelLocal;
   function #nonNullableTopLevelLocal#get() → core::int
-    return let final core::int? #t3 = #nonNullableTopLevelLocal in #t3 == null ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
-  function #nonNullableTopLevelLocal#set(core::int #t4) → dynamic
-    return #nonNullableTopLevelLocal = #t4;
+    return let final core::int? #t2 = #nonNullableTopLevelLocal in #t2 == null ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t2{core::int};
+  function #nonNullableTopLevelLocal#set(core::int nonNullableTopLevelLocal#param) → dynamic
+    return #nonNullableTopLevelLocal = nonNullableTopLevelLocal#param;
   lowered core::int? #nullableTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t5 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t5) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t5{core::int?};
-  function #nullableTopLevelLocalWithInitializer#set(core::int? #t6) → dynamic
-    return #nullableTopLevelLocalWithInitializer = #t6;
+    return let final core::int? #t3 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t3) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t3{core::int?};
+  function #nullableTopLevelLocalWithInitializer#set(core::int? nullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nullableTopLevelLocalWithInitializer = nullableTopLevelLocalWithInitializer#param;
   lowered core::int? #nonNullableTopLevelLocalWithInitializer;
   function #nonNullableTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in #t7 == null ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
-  function #nonNullableTopLevelLocalWithInitializer#set(core::int #t8) → dynamic
-    return #nonNullableTopLevelLocalWithInitializer = #t8;
+    return let final core::int? #t4 = #nonNullableTopLevelLocalWithInitializer in #t4 == null ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t4{core::int};
+  function #nonNullableTopLevelLocalWithInitializer#set(core::int nonNullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nonNullableTopLevelLocalWithInitializer = nonNullableTopLevelLocalWithInitializer#param;
   lowered final core::int? #nullableFinalTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocal#get() → core::int?
-    return let final core::int? #t9 = #nullableFinalTopLevelLocal in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t9{core::int?};
-  function #nullableFinalTopLevelLocal#set(core::int? #t10) → dynamic
+    return let final core::int? #t5 = #nullableFinalTopLevelLocal in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t5{core::int?};
+  function #nullableFinalTopLevelLocal#set(core::int? nullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nullableFinalTopLevelLocal))
-      return #nullableFinalTopLevelLocal = #t10;
+      return #nullableFinalTopLevelLocal = nullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nullableFinalTopLevelLocal");
   lowered final core::int? #nonNullableFinalTopLevelLocal;
   function #nonNullableFinalTopLevelLocal#get() → core::int
-    return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in #t11 == null ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
-  function #nonNullableFinalTopLevelLocal#set(core::int #t12) → dynamic
+    return let final core::int? #t6 = #nonNullableFinalTopLevelLocal in #t6 == null ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t6{core::int};
+  function #nonNullableFinalTopLevelLocal#set(core::int nonNullableFinalTopLevelLocal#param) → dynamic
     if(#nonNullableFinalTopLevelLocal == null)
-      return #nonNullableFinalTopLevelLocal = #t12;
+      return #nonNullableFinalTopLevelLocal = nonNullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableFinalTopLevelLocal");
   lowered final core::int? #nullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t13 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t14 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t13;
+    return let final core::int? #t7 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t8 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t7;
   lowered final core::int? #nonNullableFinalTopLevelLocalWithInitializer;
   function #nonNullableFinalTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int? #t15 = #nonNullableFinalTopLevelLocalWithInitializer in #t15 == null ?{core::int} let final core::int #t16 = 0 in #nonNullableFinalTopLevelLocalWithInitializer == null ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15{core::int};
+    return let final core::int? #t9 = #nonNullableFinalTopLevelLocalWithInitializer in #t9 == null ?{core::int} let final core::int #t10 = 0 in #nonNullableFinalTopLevelLocalWithInitializer == null ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t10 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t9{core::int};
   lowered Null #neverLocal;
   function #neverLocal#get() → Never
-    return let final Never? #t17 = #neverLocal in #t17 == null ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
-  function #neverLocal#set(Never #t18) → dynamic
-    return #neverLocal = #t18;
+    return let final Never? #t11 = #neverLocal in #t11 == null ?{Never} throw new _in::LateError::localNI("neverLocal") : #t11{Never};
+  function #neverLocal#set(Never neverLocal#param) → dynamic
+    return #neverLocal = neverLocal#param;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.expect
index 98019ae..544622d 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.expect
@@ -7,49 +7,49 @@
   lowered core::int? #nullableTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocal#get() → core::int?
     return let final core::int? #t1 = #nullableTopLevelLocal in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::localNI("nullableTopLevelLocal") : #t1{core::int?};
-  function #nullableTopLevelLocal#set(core::int? #t2) → dynamic
-    return #nullableTopLevelLocal = #t2;
+  function #nullableTopLevelLocal#set(core::int? nullableTopLevelLocal#param) → dynamic
+    return #nullableTopLevelLocal = nullableTopLevelLocal#param;
   lowered core::int? #nonNullableTopLevelLocal = _in::createSentinel<core::int>();
   function #nonNullableTopLevelLocal#get() → core::int
-    return let final core::int? #t3 = #nonNullableTopLevelLocal in _in::isSentinel(#t3) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
-  function #nonNullableTopLevelLocal#set(core::int #t4) → dynamic
-    return #nonNullableTopLevelLocal = #t4;
+    return let final core::int? #t2 = #nonNullableTopLevelLocal in _in::isSentinel(#t2) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t2{core::int};
+  function #nonNullableTopLevelLocal#set(core::int nonNullableTopLevelLocal#param) → dynamic
+    return #nonNullableTopLevelLocal = nonNullableTopLevelLocal#param;
   lowered core::int? #nullableTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t5 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t5) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t5{core::int?};
-  function #nullableTopLevelLocalWithInitializer#set(core::int? #t6) → dynamic
-    return #nullableTopLevelLocalWithInitializer = #t6;
+    return let final core::int? #t3 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t3) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t3{core::int?};
+  function #nullableTopLevelLocalWithInitializer#set(core::int? nullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nullableTopLevelLocalWithInitializer = nullableTopLevelLocalWithInitializer#param;
   lowered core::int? #nonNullableTopLevelLocalWithInitializer = _in::createSentinel<core::int>();
   function #nonNullableTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
-  function #nonNullableTopLevelLocalWithInitializer#set(core::int #t8) → dynamic
-    return #nonNullableTopLevelLocalWithInitializer = #t8;
+    return let final core::int? #t4 = #nonNullableTopLevelLocalWithInitializer in _in::isSentinel(#t4) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t4{core::int};
+  function #nonNullableTopLevelLocalWithInitializer#set(core::int nonNullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nonNullableTopLevelLocalWithInitializer = nonNullableTopLevelLocalWithInitializer#param;
   lowered final core::int? #nullableFinalTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocal#get() → core::int?
-    return let final core::int? #t9 = #nullableFinalTopLevelLocal in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t9{core::int?};
-  function #nullableFinalTopLevelLocal#set(core::int? #t10) → dynamic
+    return let final core::int? #t5 = #nullableFinalTopLevelLocal in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t5{core::int?};
+  function #nullableFinalTopLevelLocal#set(core::int? nullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nullableFinalTopLevelLocal))
-      return #nullableFinalTopLevelLocal = #t10;
+      return #nullableFinalTopLevelLocal = nullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nullableFinalTopLevelLocal");
   lowered final core::int? #nonNullableFinalTopLevelLocal = _in::createSentinel<core::int>();
   function #nonNullableFinalTopLevelLocal#get() → core::int
-    return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in _in::isSentinel(#t11) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
-  function #nonNullableFinalTopLevelLocal#set(core::int #t12) → dynamic
+    return let final core::int? #t6 = #nonNullableFinalTopLevelLocal in _in::isSentinel(#t6) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t6{core::int};
+  function #nonNullableFinalTopLevelLocal#set(core::int nonNullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nonNullableFinalTopLevelLocal))
-      return #nonNullableFinalTopLevelLocal = #t12;
+      return #nonNullableFinalTopLevelLocal = nonNullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableFinalTopLevelLocal");
   lowered final core::int? #nullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t13 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t14 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t13;
+    return let final core::int? #t7 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t8 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t7;
   lowered final core::int? #nonNullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int>();
   function #nonNullableFinalTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int #t15 = #nonNullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t15) ?{core::int} let final core::int #t16 = 0 in _in::isSentinel(#nonNullableFinalTopLevelLocalWithInitializer) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15;
+    return let final core::int #t9 = #nonNullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t9) ?{core::int} let final core::int #t10 = 0 in _in::isSentinel(#nonNullableFinalTopLevelLocalWithInitializer) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t10 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t9;
   lowered Null #neverLocal = _in::createSentinel<Never>();
   function #neverLocal#get() → Never
-    return let final Never? #t17 = #neverLocal in _in::isSentinel(#t17) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
-  function #neverLocal#set(Never #t18) → dynamic
-    return #neverLocal = #t18;
+    return let final Never? #t11 = #neverLocal in _in::isSentinel(#t11) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t11{Never};
+  function #neverLocal#set(Never neverLocal#param) → dynamic
+    return #neverLocal = neverLocal#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.modular.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.modular.expect
index 98019ae..544622d 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.modular.expect
@@ -7,49 +7,49 @@
   lowered core::int? #nullableTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocal#get() → core::int?
     return let final core::int? #t1 = #nullableTopLevelLocal in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::localNI("nullableTopLevelLocal") : #t1{core::int?};
-  function #nullableTopLevelLocal#set(core::int? #t2) → dynamic
-    return #nullableTopLevelLocal = #t2;
+  function #nullableTopLevelLocal#set(core::int? nullableTopLevelLocal#param) → dynamic
+    return #nullableTopLevelLocal = nullableTopLevelLocal#param;
   lowered core::int? #nonNullableTopLevelLocal = _in::createSentinel<core::int>();
   function #nonNullableTopLevelLocal#get() → core::int
-    return let final core::int? #t3 = #nonNullableTopLevelLocal in _in::isSentinel(#t3) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
-  function #nonNullableTopLevelLocal#set(core::int #t4) → dynamic
-    return #nonNullableTopLevelLocal = #t4;
+    return let final core::int? #t2 = #nonNullableTopLevelLocal in _in::isSentinel(#t2) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t2{core::int};
+  function #nonNullableTopLevelLocal#set(core::int nonNullableTopLevelLocal#param) → dynamic
+    return #nonNullableTopLevelLocal = nonNullableTopLevelLocal#param;
   lowered core::int? #nullableTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t5 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t5) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t5{core::int?};
-  function #nullableTopLevelLocalWithInitializer#set(core::int? #t6) → dynamic
-    return #nullableTopLevelLocalWithInitializer = #t6;
+    return let final core::int? #t3 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t3) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t3{core::int?};
+  function #nullableTopLevelLocalWithInitializer#set(core::int? nullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nullableTopLevelLocalWithInitializer = nullableTopLevelLocalWithInitializer#param;
   lowered core::int? #nonNullableTopLevelLocalWithInitializer = _in::createSentinel<core::int>();
   function #nonNullableTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
-  function #nonNullableTopLevelLocalWithInitializer#set(core::int #t8) → dynamic
-    return #nonNullableTopLevelLocalWithInitializer = #t8;
+    return let final core::int? #t4 = #nonNullableTopLevelLocalWithInitializer in _in::isSentinel(#t4) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t4{core::int};
+  function #nonNullableTopLevelLocalWithInitializer#set(core::int nonNullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nonNullableTopLevelLocalWithInitializer = nonNullableTopLevelLocalWithInitializer#param;
   lowered final core::int? #nullableFinalTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocal#get() → core::int?
-    return let final core::int? #t9 = #nullableFinalTopLevelLocal in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t9{core::int?};
-  function #nullableFinalTopLevelLocal#set(core::int? #t10) → dynamic
+    return let final core::int? #t5 = #nullableFinalTopLevelLocal in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t5{core::int?};
+  function #nullableFinalTopLevelLocal#set(core::int? nullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nullableFinalTopLevelLocal))
-      return #nullableFinalTopLevelLocal = #t10;
+      return #nullableFinalTopLevelLocal = nullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nullableFinalTopLevelLocal");
   lowered final core::int? #nonNullableFinalTopLevelLocal = _in::createSentinel<core::int>();
   function #nonNullableFinalTopLevelLocal#get() → core::int
-    return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in _in::isSentinel(#t11) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
-  function #nonNullableFinalTopLevelLocal#set(core::int #t12) → dynamic
+    return let final core::int? #t6 = #nonNullableFinalTopLevelLocal in _in::isSentinel(#t6) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t6{core::int};
+  function #nonNullableFinalTopLevelLocal#set(core::int nonNullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nonNullableFinalTopLevelLocal))
-      return #nonNullableFinalTopLevelLocal = #t12;
+      return #nonNullableFinalTopLevelLocal = nonNullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableFinalTopLevelLocal");
   lowered final core::int? #nullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t13 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t14 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t13;
+    return let final core::int? #t7 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t8 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t7;
   lowered final core::int? #nonNullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int>();
   function #nonNullableFinalTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int #t15 = #nonNullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t15) ?{core::int} let final core::int #t16 = 0 in _in::isSentinel(#nonNullableFinalTopLevelLocalWithInitializer) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15;
+    return let final core::int #t9 = #nonNullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t9) ?{core::int} let final core::int #t10 = 0 in _in::isSentinel(#nonNullableFinalTopLevelLocalWithInitializer) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t10 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t9;
   lowered Null #neverLocal = _in::createSentinel<Never>();
   function #neverLocal#get() → Never
-    return let final Never? #t17 = #neverLocal in _in::isSentinel(#t17) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
-  function #neverLocal#set(Never #t18) → dynamic
-    return #neverLocal = #t18;
+    return let final Never? #t11 = #neverLocal in _in::isSentinel(#t11) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t11{Never};
+  function #neverLocal#set(Never neverLocal#param) → dynamic
+    return #neverLocal = neverLocal#param;
 }
 static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.transformed.expect b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.transformed.expect
index 01ccc85..c3a1322 100644
--- a/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/late_lowering_sentinel/late_locals.dart.weak.transformed.expect
@@ -7,50 +7,50 @@
   lowered core::int? #nullableTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocal#get() → core::int?
     return let final core::int? #t1 = #nullableTopLevelLocal in _in::isSentinel(#t1) ?{core::int?} throw new _in::LateError::localNI("nullableTopLevelLocal") : #t1{core::int?};
-  function #nullableTopLevelLocal#set(core::int? #t2) → dynamic
-    return #nullableTopLevelLocal = #t2;
+  function #nullableTopLevelLocal#set(core::int? nullableTopLevelLocal#param) → dynamic
+    return #nullableTopLevelLocal = nullableTopLevelLocal#param;
   lowered core::int? #nonNullableTopLevelLocal = _in::createSentinel<core::int>();
   function #nonNullableTopLevelLocal#get() → core::int
-    return let final core::int? #t3 = #nonNullableTopLevelLocal in _in::isSentinel(#t3) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t3{core::int};
-  function #nonNullableTopLevelLocal#set(core::int #t4) → dynamic
-    return #nonNullableTopLevelLocal = #t4;
+    return let final core::int? #t2 = #nonNullableTopLevelLocal in _in::isSentinel(#t2) ?{core::int} throw new _in::LateError::localNI("nonNullableTopLevelLocal") : #t2{core::int};
+  function #nonNullableTopLevelLocal#set(core::int nonNullableTopLevelLocal#param) → dynamic
+    return #nonNullableTopLevelLocal = nonNullableTopLevelLocal#param;
   lowered core::int? #nullableTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t5 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t5) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t5{core::int?};
-  function #nullableTopLevelLocalWithInitializer#set(core::int? #t6) → dynamic
-    return #nullableTopLevelLocalWithInitializer = #t6;
+    return let final core::int? #t3 = #nullableTopLevelLocalWithInitializer in _in::isSentinel(#t3) ?{core::int?} #nullableTopLevelLocalWithInitializer = null : #t3{core::int?};
+  function #nullableTopLevelLocalWithInitializer#set(core::int? nullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nullableTopLevelLocalWithInitializer = nullableTopLevelLocalWithInitializer#param;
   lowered core::int? #nonNullableTopLevelLocalWithInitializer = _in::createSentinel<core::int>();
   function #nonNullableTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int? #t7 = #nonNullableTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t7{core::int};
-  function #nonNullableTopLevelLocalWithInitializer#set(core::int #t8) → dynamic
-    return #nonNullableTopLevelLocalWithInitializer = #t8;
+    return let final core::int? #t4 = #nonNullableTopLevelLocalWithInitializer in _in::isSentinel(#t4) ?{core::int} #nonNullableTopLevelLocalWithInitializer = 0 : #t4{core::int};
+  function #nonNullableTopLevelLocalWithInitializer#set(core::int nonNullableTopLevelLocalWithInitializer#param) → dynamic
+    return #nonNullableTopLevelLocalWithInitializer = nonNullableTopLevelLocalWithInitializer#param;
   lowered final core::int? #nullableFinalTopLevelLocal = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocal#get() → core::int?
-    return let final core::int? #t9 = #nullableFinalTopLevelLocal in _in::isSentinel(#t9) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t9{core::int?};
-  function #nullableFinalTopLevelLocal#set(core::int? #t10) → dynamic
+    return let final core::int? #t5 = #nullableFinalTopLevelLocal in _in::isSentinel(#t5) ?{core::int?} throw new _in::LateError::localNI("nullableFinalTopLevelLocal") : #t5{core::int?};
+  function #nullableFinalTopLevelLocal#set(core::int? nullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nullableFinalTopLevelLocal))
-      return #nullableFinalTopLevelLocal = #t10;
+      return #nullableFinalTopLevelLocal = nullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nullableFinalTopLevelLocal");
   lowered final core::int? #nonNullableFinalTopLevelLocal = _in::createSentinel<core::int>();
   function #nonNullableFinalTopLevelLocal#get() → core::int
-    return let final core::int? #t11 = #nonNullableFinalTopLevelLocal in _in::isSentinel(#t11) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t11{core::int};
-  function #nonNullableFinalTopLevelLocal#set(core::int #t12) → dynamic
+    return let final core::int? #t6 = #nonNullableFinalTopLevelLocal in _in::isSentinel(#t6) ?{core::int} throw new _in::LateError::localNI("nonNullableFinalTopLevelLocal") : #t6{core::int};
+  function #nonNullableFinalTopLevelLocal#set(core::int nonNullableFinalTopLevelLocal#param) → dynamic
     if(_in::isSentinel(#nonNullableFinalTopLevelLocal))
-      return #nonNullableFinalTopLevelLocal = #t12;
+      return #nonNullableFinalTopLevelLocal = nonNullableFinalTopLevelLocal#param;
     else
       throw new _in::LateError::localAI("nonNullableFinalTopLevelLocal");
   lowered final core::int? #nullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int?>();
   function #nullableFinalTopLevelLocalWithInitializer#get() → core::int?
-    return let final core::int? #t13 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t13) ?{core::int?} let final core::int? #t14 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t14 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t13;
+    return let final core::int? #t7 = #nullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t7) ?{core::int?} let final core::int? #t8 = null in _in::isSentinel(#nullableFinalTopLevelLocalWithInitializer) ?{core::int?} #nullableFinalTopLevelLocalWithInitializer = #t8 : throw new _in::LateError::localADI("nullableFinalTopLevelLocalWithInitializer") : #t7;
   lowered final core::int? #nonNullableFinalTopLevelLocalWithInitializer = _in::createSentinel<core::int>();
   function #nonNullableFinalTopLevelLocalWithInitializer#get() → core::int
-    return let final core::int #t15 = #nonNullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t15) ?{core::int} let final core::int #t16 = 0 in _in::isSentinel(#nonNullableFinalTopLevelLocalWithInitializer) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t16 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t15;
+    return let final core::int #t9 = #nonNullableFinalTopLevelLocalWithInitializer in _in::isSentinel(#t9) ?{core::int} let final core::int #t10 = 0 in _in::isSentinel(#nonNullableFinalTopLevelLocalWithInitializer) ?{core::int} #nonNullableFinalTopLevelLocalWithInitializer = #t10 : throw new _in::LateError::localADI("nonNullableFinalTopLevelLocalWithInitializer") : #t9;
   lowered Null #neverLocal = _in::createSentinel<Never>();
   function #neverLocal#get() → Never
-    return let final Never? #t17 = #neverLocal in _in::isSentinel(#t17) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t17{Never};
-  function #neverLocal#set(Never #t18) → dynamic
-    return #neverLocal = #t18;
+    return let final Never? #t11 = #neverLocal in _in::isSentinel(#t11) ?{Never} throw new _in::LateError::localNI("neverLocal") : #t11{Never};
+  function #neverLocal#set(Never neverLocal#param) → dynamic
+    return #neverLocal = neverLocal#param;
 }
 static method main() → dynamic {}
 
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
index ea65452..44094c4 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.expect
@@ -27,8 +27,8 @@
     ;
   static get nonNullableStaticFieldWithInitializer1() → core::int
     return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
-  static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void
-    self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
+  static set nonNullableStaticFieldWithInitializer1(core::int nonNullableStaticFieldWithInitializer1#param) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer1 = nonNullableStaticFieldWithInitializer1#param;
   static get nullableStaticFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) {
       self::Class::_#nullableStaticFieldWithInitializer1 = self::init<core::int?>(17);
@@ -36,14 +36,14 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer1;
   }
-  static set nullableStaticFieldWithInitializer1(core::int? #t3) → void {
+  static set nullableStaticFieldWithInitializer1(core::int? nullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
+    self::Class::_#nullableStaticFieldWithInitializer1 = nullableStaticFieldWithInitializer1#param;
   }
   static get nonNullableStaticFieldWithInitializer2() → core::int
-    return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
-  static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void
-    self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
+    return let final core::int? #t2 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t2 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t2{core::int};
+  static set nonNullableStaticFieldWithInitializer2(core::int nonNullableStaticFieldWithInitializer2#param) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer2 = nonNullableStaticFieldWithInitializer2#param;
   static get nullableStaticFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) {
       self::Class::_#nullableStaticFieldWithInitializer2 = self::init<core::int?>(17);
@@ -51,38 +51,38 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer2;
   }
-  static set nullableStaticFieldWithInitializer2(core::int? #t6) → void {
+  static set nullableStaticFieldWithInitializer2(core::int? nullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
+    self::Class::_#nullableStaticFieldWithInitializer2 = nullableStaticFieldWithInitializer2#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer1() → core::int
-    return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7 == null ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
+    return let final core::int? #t3 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t3 == null ?{core::int} let final core::int #t4 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t4 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t3{core::int};
   static get nullableStaticFinalFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int? #t9 = self::init<core::int?>(19);
+      final core::int? #t5 = self::init<core::int?>(19);
       if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t9;
+      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t5;
       self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer1;
   }
   static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int
-    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
-  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void
-    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
+    return let final core::int? #t6 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t6 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t6{core::int};
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int nonNullableStaticFinalFieldWithInitializer2Init#param) → void
+    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = nonNullableStaticFinalFieldWithInitializer2Init#param;
   static get nonNullableStaticFinalFieldWithInitializer2() → core::int
-    return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12 == null ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1){(core::num) → core::int} in #t14) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
+    return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t7 == null ?{core::int} let final core::int #t8 = (let final core::int #t9 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t10 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t9.{core::num::+}(1){(core::num) → core::int} in #t9) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t7{core::int};
   static get nullableStaticFinalFieldWithInitializer2Init() → core::int
-    return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16 == null ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
-  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void
-    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
+    return let final core::int? #t11 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t11 == null ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t11{core::int};
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int nullableStaticFinalFieldWithInitializer2Init#param) → void
+    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = nullableStaticFinalFieldWithInitializer2Init#param;
   static get nullableStaticFinalFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+      final core::int? #t12 = (let final core::int #t13 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
       if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
+      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t12;
       self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer2;
@@ -110,9 +110,9 @@
   return value;
 }
 static get nonNullableTopLevelFieldWithInitializer1() → core::int
-  return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
-static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void
-  self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
+  return let final core::int? #t15 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t15 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t15{core::int};
+static set nonNullableTopLevelFieldWithInitializer1(core::int nonNullableTopLevelFieldWithInitializer1#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer1 = nonNullableTopLevelFieldWithInitializer1#param;
 static get nullableTopLevelFieldWithInitializer() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer#isSet) {
     self::_#nullableTopLevelFieldWithInitializer = self::init<core::int?>(123);
@@ -120,14 +120,14 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer;
 }
-static set nullableTopLevelFieldWithInitializer(core::int? #t23) → void {
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void {
   self::_#nullableTopLevelFieldWithInitializer#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer = #t23;
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 }
 static get nonNullableTopLevelFieldWithInitializer2() → core::int
-  return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
-static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void
-  self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
+  return let final core::int? #t16 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t16 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t16{core::int};
+static set nonNullableTopLevelFieldWithInitializer2(core::int nonNullableTopLevelFieldWithInitializer2#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer2 = nonNullableTopLevelFieldWithInitializer2#param;
 static get nullableTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) {
     self::_#nullableTopLevelFieldWithInitializer2 = self::init<core::int?>(123);
@@ -135,38 +135,38 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer2;
 }
-static set nullableTopLevelFieldWithInitializer2(core::int? #t26) → void {
+static set nullableTopLevelFieldWithInitializer2(core::int? nullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer2 = #t26;
+  self::_#nullableTopLevelFieldWithInitializer2 = nullableTopLevelFieldWithInitializer2#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int
-  return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27 == null ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
+  return let final core::int? #t17 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t17 == null ?{core::int} let final core::int #t18 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t18 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t17{core::int};
 static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int? #t29 = self::init<core::int?>(32);
+    final core::int? #t19 = self::init<core::int?>(32);
     if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1");
-    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t29;
+    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t19;
     self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer1;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int
-  return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
-static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void
-  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
+  return let final core::int? #t20 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t20 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t20{core::int};
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int nonNullableFinalTopLevelFieldWithInitializer2Init#param) → void
+  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = nonNullableFinalTopLevelFieldWithInitializer2Init#param;
 static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int
-  return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32 == null ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1){(core::num) → core::int} in #t34) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
+  return let final core::int? #t21 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t21 == null ?{core::int} let final core::int #t22 = (let final core::int #t23 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t24 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t23.{core::num::+}(1){(core::num) → core::int} in #t23) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t22 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t21{core::int};
 static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int
-  return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36 == null ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
-static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void
-  self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
+  return let final core::int? #t25 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t25 == null ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t25{core::int};
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int nullableFinalTopLevelFieldWithInitializer2Init#param) → void
+  self::_#nullableFinalTopLevelFieldWithInitializer2Init = nullableFinalTopLevelFieldWithInitializer2Init#param;
 static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+    final core::int? #t26 = (let final core::int #t27 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t28 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t27.{core::num::+}(1){(core::num) → core::int} in #t27) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
     if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
-    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
+    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t26;
     self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer2;
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
index ea65452..44094c4 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.strong.transformed.expect
@@ -27,8 +27,8 @@
     ;
   static get nonNullableStaticFieldWithInitializer1() → core::int
     return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer1 = self::init<core::int>(55) : #t1{core::int};
-  static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void
-    self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
+  static set nonNullableStaticFieldWithInitializer1(core::int nonNullableStaticFieldWithInitializer1#param) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer1 = nonNullableStaticFieldWithInitializer1#param;
   static get nullableStaticFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) {
       self::Class::_#nullableStaticFieldWithInitializer1 = self::init<core::int?>(17);
@@ -36,14 +36,14 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer1;
   }
-  static set nullableStaticFieldWithInitializer1(core::int? #t3) → void {
+  static set nullableStaticFieldWithInitializer1(core::int? nullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
+    self::Class::_#nullableStaticFieldWithInitializer1 = nullableStaticFieldWithInitializer1#param;
   }
   static get nonNullableStaticFieldWithInitializer2() → core::int
-    return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t4{core::int};
-  static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void
-    self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
+    return let final core::int? #t2 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t2 == null ?{core::int} self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55) : #t2{core::int};
+  static set nonNullableStaticFieldWithInitializer2(core::int nonNullableStaticFieldWithInitializer2#param) → void
+    self::Class::_#nonNullableStaticFieldWithInitializer2 = nonNullableStaticFieldWithInitializer2#param;
   static get nullableStaticFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) {
       self::Class::_#nullableStaticFieldWithInitializer2 = self::init<core::int?>(17);
@@ -51,38 +51,38 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer2;
   }
-  static set nullableStaticFieldWithInitializer2(core::int? #t6) → void {
+  static set nullableStaticFieldWithInitializer2(core::int? nullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
+    self::Class::_#nullableStaticFieldWithInitializer2 = nullableStaticFieldWithInitializer2#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer1() → core::int
-    return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t7 == null ?{core::int} let final core::int #t8 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t7{core::int};
+    return let final core::int? #t3 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t3 == null ?{core::int} let final core::int #t4 = self::init<core::int>(73) in self::Class::_#nonNullableStaticFinalFieldWithInitializer1 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t4 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1") : #t3{core::int};
   static get nullableStaticFinalFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int? #t9 = self::init<core::int?>(19);
+      final core::int? #t5 = self::init<core::int?>(19);
       if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t9;
+      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t5;
       self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer1;
   }
   static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int
-    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t10{core::int};
-  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void
-    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
+    return let final core::int? #t6 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t6 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0 : #t6{core::int};
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int nonNullableStaticFinalFieldWithInitializer2Init#param) → void
+    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = nonNullableStaticFinalFieldWithInitializer2Init#param;
   static get nonNullableStaticFinalFieldWithInitializer2() → core::int
-    return let final core::int? #t12 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t12 == null ?{core::int} let final core::int #t13 = (let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t15 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t14.{core::num::+}(1){(core::num) → core::int} in #t14) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t13 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t12{core::int};
+    return let final core::int? #t7 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t7 == null ?{core::int} let final core::int #t8 = (let final core::int #t9 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t10 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t9.{core::num::+}(1){(core::num) → core::int} in #t9) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::Class::_#nonNullableStaticFinalFieldWithInitializer2 == null ?{core::int} self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t8 : throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2") : #t7{core::int};
   static get nullableStaticFinalFieldWithInitializer2Init() → core::int
-    return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16 == null ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t16{core::int};
-  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void
-    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
+    return let final core::int? #t11 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t11 == null ?{core::int} self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0 : #t11{core::int};
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int nullableStaticFinalFieldWithInitializer2Init#param) → void
+    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = nullableStaticFinalFieldWithInitializer2Init#param;
   static get nullableStaticFinalFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+      final core::int? #t12 = (let final core::int #t13 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
       if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
+      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t12;
       self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer2;
@@ -110,9 +110,9 @@
   return value;
 }
 static get nonNullableTopLevelFieldWithInitializer1() → core::int
-  return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t21{core::int};
-static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void
-  self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
+  return let final core::int? #t15 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t15 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42) : #t15{core::int};
+static set nonNullableTopLevelFieldWithInitializer1(core::int nonNullableTopLevelFieldWithInitializer1#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer1 = nonNullableTopLevelFieldWithInitializer1#param;
 static get nullableTopLevelFieldWithInitializer() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer#isSet) {
     self::_#nullableTopLevelFieldWithInitializer = self::init<core::int?>(123);
@@ -120,14 +120,14 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer;
 }
-static set nullableTopLevelFieldWithInitializer(core::int? #t23) → void {
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void {
   self::_#nullableTopLevelFieldWithInitializer#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer = #t23;
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 }
 static get nonNullableTopLevelFieldWithInitializer2() → core::int
-  return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t24{core::int};
-static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void
-  self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
+  return let final core::int? #t16 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t16 == null ?{core::int} self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42) : #t16{core::int};
+static set nonNullableTopLevelFieldWithInitializer2(core::int nonNullableTopLevelFieldWithInitializer2#param) → void
+  self::_#nonNullableTopLevelFieldWithInitializer2 = nonNullableTopLevelFieldWithInitializer2#param;
 static get nullableTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) {
     self::_#nullableTopLevelFieldWithInitializer2 = self::init<core::int?>(123);
@@ -135,38 +135,38 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer2;
 }
-static set nullableTopLevelFieldWithInitializer2(core::int? #t26) → void {
+static set nullableTopLevelFieldWithInitializer2(core::int? nullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer2 = #t26;
+  self::_#nullableTopLevelFieldWithInitializer2 = nullableTopLevelFieldWithInitializer2#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int
-  return let final core::int? #t27 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t27 == null ?{core::int} let final core::int #t28 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t28 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t27{core::int};
+  return let final core::int? #t17 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t17 == null ?{core::int} let final core::int #t18 = self::init<core::int>(87) in self::_#nonNullableFinalTopLevelFieldWithInitializer1 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t18 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1") : #t17{core::int};
 static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int? #t29 = self::init<core::int?>(32);
+    final core::int? #t19 = self::init<core::int?>(32);
     if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1");
-    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t29;
+    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t19;
     self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer1;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int
-  return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t30{core::int};
-static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void
-  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
+  return let final core::int? #t20 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t20 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0 : #t20{core::int};
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int nonNullableFinalTopLevelFieldWithInitializer2Init#param) → void
+  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = nonNullableFinalTopLevelFieldWithInitializer2Init#param;
 static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int
-  return let final core::int? #t32 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t32 == null ?{core::int} let final core::int #t33 = (let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t35 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t34.{core::num::+}(1){(core::num) → core::int} in #t34) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t33 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t32{core::int};
+  return let final core::int? #t21 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t21 == null ?{core::int} let final core::int #t22 = (let final core::int #t23 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t24 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t23.{core::num::+}(1){(core::num) → core::int} in #t23) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87 in self::_#nonNullableFinalTopLevelFieldWithInitializer2 == null ?{core::int} self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t22 : throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2") : #t21{core::int};
 static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int
-  return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36 == null ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t36{core::int};
-static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void
-  self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
+  return let final core::int? #t25 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t25 == null ?{core::int} self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0 : #t25{core::int};
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int nullableFinalTopLevelFieldWithInitializer2Init#param) → void
+  self::_#nullableFinalTopLevelFieldWithInitializer2Init = nullableFinalTopLevelFieldWithInitializer2Init#param;
 static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+    final core::int? #t26 = (let final core::int #t27 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t28 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t27.{core::num::+}(1){(core::num) → core::int} in #t27) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
     if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
-    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
+    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t26;
     self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer2;
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect
index bae037b..ca912ed 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.expect
@@ -38,9 +38,9 @@
     }
     return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1{core::int};
   }
-  static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void {
+  static set nonNullableStaticFieldWithInitializer1(core::int nonNullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nonNullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
+    self::Class::_#nonNullableStaticFieldWithInitializer1 = nonNullableStaticFieldWithInitializer1#param;
   }
   static get nullableStaticFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) {
@@ -49,20 +49,20 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer1;
   }
-  static set nullableStaticFieldWithInitializer1(core::int? #t3) → void {
+  static set nullableStaticFieldWithInitializer1(core::int? nullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
+    self::Class::_#nullableStaticFieldWithInitializer1 = nullableStaticFieldWithInitializer1#param;
   }
   static get nonNullableStaticFieldWithInitializer2() → core::int {
     if(!self::Class::_#nonNullableStaticFieldWithInitializer2#isSet) {
       self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55);
       self::Class::_#nonNullableStaticFieldWithInitializer2#isSet = true;
     }
-    return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4{core::int};
+    return let final core::int? #t2 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t2{core::int};
   }
-  static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void {
+  static set nonNullableStaticFieldWithInitializer2(core::int nonNullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nonNullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
+    self::Class::_#nonNullableStaticFieldWithInitializer2 = nonNullableStaticFieldWithInitializer2#param;
   }
   static get nullableStaticFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) {
@@ -71,26 +71,26 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer2;
   }
-  static set nullableStaticFieldWithInitializer2(core::int? #t6) → void {
+  static set nullableStaticFieldWithInitializer2(core::int? nullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
+    self::Class::_#nullableStaticFieldWithInitializer2 = nullableStaticFieldWithInitializer2#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer1() → core::int {
     if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int #t7 = self::init<core::int>(73);
+      final core::int #t3 = self::init<core::int>(73);
       if(self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t7;
+      self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t3;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t8{core::int};
+    return let final core::int? #t4 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t4{core::int};
   }
   static get nullableStaticFinalFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int? #t9 = self::init<core::int?>(19);
+      final core::int? #t5 = self::init<core::int?>(19);
       if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t9;
+      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t5;
       self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer1;
@@ -100,39 +100,39 @@
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init#isSet = true;
     }
-    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10{core::int};
+    return let final core::int? #t6 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t6{core::int};
   }
-  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void {
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int nonNullableStaticFinalFieldWithInitializer2Init#param) → void {
     self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init#isSet = true;
-    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
+    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = nonNullableStaticFinalFieldWithInitializer2Init#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer2() → core::int {
     if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int #t12 = (let final core::int #t13 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
+      final core::int #t7 = (let final core::int #t8 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t9 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t8.{core::num::+}(1){(core::num) → core::int} in #t8) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
       if(self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t12;
+      self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t7;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet = true;
     }
-    return let final core::int? #t15 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t15{core::int};
+    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t10{core::int};
   }
   static get nullableStaticFinalFieldWithInitializer2Init() → core::int {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet) {
       self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0;
       self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet = true;
     }
-    return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16{core::int};
+    return let final core::int? #t11 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t11{core::int};
   }
-  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void {
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int nullableStaticFinalFieldWithInitializer2Init#param) → void {
     self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet = true;
-    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
+    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = nullableStaticFinalFieldWithInitializer2Init#param;
   }
   static get nullableStaticFinalFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+      final core::int? #t12 = (let final core::int #t13 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
       if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
+      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t12;
       self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer2;
@@ -170,11 +170,11 @@
     self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42);
     self::_#nonNullableTopLevelFieldWithInitializer1#isSet = true;
   }
-  return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21{core::int};
+  return let final core::int? #t15 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t15{core::int};
 }
-static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void {
+static set nonNullableTopLevelFieldWithInitializer1(core::int nonNullableTopLevelFieldWithInitializer1#param) → void {
   self::_#nonNullableTopLevelFieldWithInitializer1#isSet = true;
-  self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
+  self::_#nonNullableTopLevelFieldWithInitializer1 = nonNullableTopLevelFieldWithInitializer1#param;
 }
 static get nullableTopLevelFieldWithInitializer() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer#isSet) {
@@ -183,20 +183,20 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer;
 }
-static set nullableTopLevelFieldWithInitializer(core::int? #t23) → void {
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void {
   self::_#nullableTopLevelFieldWithInitializer#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer = #t23;
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 }
 static get nonNullableTopLevelFieldWithInitializer2() → core::int {
   if(!self::_#nonNullableTopLevelFieldWithInitializer2#isSet) {
     self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42);
     self::_#nonNullableTopLevelFieldWithInitializer2#isSet = true;
   }
-  return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24{core::int};
+  return let final core::int? #t16 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t16{core::int};
 }
-static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void {
+static set nonNullableTopLevelFieldWithInitializer2(core::int nonNullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nonNullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
+  self::_#nonNullableTopLevelFieldWithInitializer2 = nonNullableTopLevelFieldWithInitializer2#param;
 }
 static get nullableTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) {
@@ -205,26 +205,26 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer2;
 }
-static set nullableTopLevelFieldWithInitializer2(core::int? #t26) → void {
+static set nullableTopLevelFieldWithInitializer2(core::int? nullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer2 = #t26;
+  self::_#nullableTopLevelFieldWithInitializer2 = nullableTopLevelFieldWithInitializer2#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int {
   if(!self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int #t27 = self::init<core::int>(87);
+    final core::int #t17 = self::init<core::int>(87);
     if(self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1");
-    self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t27;
+    self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t17;
     self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
-  return let final core::int? #t28 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t28{core::int};
+  return let final core::int? #t18 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t18{core::int};
 }
 static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int? #t29 = self::init<core::int?>(32);
+    final core::int? #t19 = self::init<core::int?>(32);
     if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1");
-    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t29;
+    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t19;
     self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer1;
@@ -234,39 +234,39 @@
     self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0;
     self::_#nonNullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
   }
-  return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30{core::int};
+  return let final core::int? #t20 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t20{core::int};
 }
-static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void {
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int nonNullableFinalTopLevelFieldWithInitializer2Init#param) → void {
   self::_#nonNullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
-  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
+  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = nonNullableFinalTopLevelFieldWithInitializer2Init#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int {
   if(!self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int #t32 = (let final core::int #t33 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t33.{core::num::+}(1){(core::num) → core::int} in #t33) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
+    final core::int #t21 = (let final core::int #t22 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t23 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t22.{core::num::+}(1){(core::num) → core::int} in #t22) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
     if(self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2");
-    self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t32;
+    self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t21;
     self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
-  return let final core::int? #t35 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t35{core::int};
+  return let final core::int? #t24 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t24{core::int};
 }
 static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet) {
     self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0;
     self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
   }
-  return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36{core::int};
+  return let final core::int? #t25 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t25{core::int};
 }
-static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void {
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int nullableFinalTopLevelFieldWithInitializer2Init#param) → void {
   self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
-  self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
+  self::_#nullableFinalTopLevelFieldWithInitializer2Init = nullableFinalTopLevelFieldWithInitializer2Init#param;
 }
 static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+    final core::int? #t26 = (let final core::int #t27 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t28 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t27.{core::num::+}(1){(core::num) → core::int} in #t27) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
     if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
-    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
+    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t26;
     self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer2;
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.modular.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.modular.expect
index bae037b..ca912ed 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.modular.expect
@@ -38,9 +38,9 @@
     }
     return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1{core::int};
   }
-  static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void {
+  static set nonNullableStaticFieldWithInitializer1(core::int nonNullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nonNullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
+    self::Class::_#nonNullableStaticFieldWithInitializer1 = nonNullableStaticFieldWithInitializer1#param;
   }
   static get nullableStaticFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) {
@@ -49,20 +49,20 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer1;
   }
-  static set nullableStaticFieldWithInitializer1(core::int? #t3) → void {
+  static set nullableStaticFieldWithInitializer1(core::int? nullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
+    self::Class::_#nullableStaticFieldWithInitializer1 = nullableStaticFieldWithInitializer1#param;
   }
   static get nonNullableStaticFieldWithInitializer2() → core::int {
     if(!self::Class::_#nonNullableStaticFieldWithInitializer2#isSet) {
       self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55);
       self::Class::_#nonNullableStaticFieldWithInitializer2#isSet = true;
     }
-    return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4{core::int};
+    return let final core::int? #t2 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t2{core::int};
   }
-  static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void {
+  static set nonNullableStaticFieldWithInitializer2(core::int nonNullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nonNullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
+    self::Class::_#nonNullableStaticFieldWithInitializer2 = nonNullableStaticFieldWithInitializer2#param;
   }
   static get nullableStaticFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) {
@@ -71,26 +71,26 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer2;
   }
-  static set nullableStaticFieldWithInitializer2(core::int? #t6) → void {
+  static set nullableStaticFieldWithInitializer2(core::int? nullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
+    self::Class::_#nullableStaticFieldWithInitializer2 = nullableStaticFieldWithInitializer2#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer1() → core::int {
     if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int #t7 = self::init<core::int>(73);
+      final core::int #t3 = self::init<core::int>(73);
       if(self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t7;
+      self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t3;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t8{core::int};
+    return let final core::int? #t4 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t4{core::int};
   }
   static get nullableStaticFinalFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int? #t9 = self::init<core::int?>(19);
+      final core::int? #t5 = self::init<core::int?>(19);
       if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t9;
+      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t5;
       self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer1;
@@ -100,39 +100,39 @@
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init#isSet = true;
     }
-    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10{core::int};
+    return let final core::int? #t6 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t6{core::int};
   }
-  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void {
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int nonNullableStaticFinalFieldWithInitializer2Init#param) → void {
     self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init#isSet = true;
-    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
+    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = nonNullableStaticFinalFieldWithInitializer2Init#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer2() → core::int {
     if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int #t12 = (let final core::int #t13 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
+      final core::int #t7 = (let final core::int #t8 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t9 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t8.{core::num::+}(1){(core::num) → core::int} in #t8) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
       if(self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t12;
+      self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t7;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet = true;
     }
-    return let final core::int? #t15 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t15{core::int};
+    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t10{core::int};
   }
   static get nullableStaticFinalFieldWithInitializer2Init() → core::int {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet) {
       self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0;
       self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet = true;
     }
-    return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16{core::int};
+    return let final core::int? #t11 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t11{core::int};
   }
-  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void {
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int nullableStaticFinalFieldWithInitializer2Init#param) → void {
     self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet = true;
-    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
+    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = nullableStaticFinalFieldWithInitializer2Init#param;
   }
   static get nullableStaticFinalFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+      final core::int? #t12 = (let final core::int #t13 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
       if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
+      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t12;
       self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer2;
@@ -170,11 +170,11 @@
     self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42);
     self::_#nonNullableTopLevelFieldWithInitializer1#isSet = true;
   }
-  return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21{core::int};
+  return let final core::int? #t15 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t15{core::int};
 }
-static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void {
+static set nonNullableTopLevelFieldWithInitializer1(core::int nonNullableTopLevelFieldWithInitializer1#param) → void {
   self::_#nonNullableTopLevelFieldWithInitializer1#isSet = true;
-  self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
+  self::_#nonNullableTopLevelFieldWithInitializer1 = nonNullableTopLevelFieldWithInitializer1#param;
 }
 static get nullableTopLevelFieldWithInitializer() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer#isSet) {
@@ -183,20 +183,20 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer;
 }
-static set nullableTopLevelFieldWithInitializer(core::int? #t23) → void {
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void {
   self::_#nullableTopLevelFieldWithInitializer#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer = #t23;
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 }
 static get nonNullableTopLevelFieldWithInitializer2() → core::int {
   if(!self::_#nonNullableTopLevelFieldWithInitializer2#isSet) {
     self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42);
     self::_#nonNullableTopLevelFieldWithInitializer2#isSet = true;
   }
-  return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24{core::int};
+  return let final core::int? #t16 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t16{core::int};
 }
-static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void {
+static set nonNullableTopLevelFieldWithInitializer2(core::int nonNullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nonNullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
+  self::_#nonNullableTopLevelFieldWithInitializer2 = nonNullableTopLevelFieldWithInitializer2#param;
 }
 static get nullableTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) {
@@ -205,26 +205,26 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer2;
 }
-static set nullableTopLevelFieldWithInitializer2(core::int? #t26) → void {
+static set nullableTopLevelFieldWithInitializer2(core::int? nullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer2 = #t26;
+  self::_#nullableTopLevelFieldWithInitializer2 = nullableTopLevelFieldWithInitializer2#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int {
   if(!self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int #t27 = self::init<core::int>(87);
+    final core::int #t17 = self::init<core::int>(87);
     if(self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1");
-    self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t27;
+    self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t17;
     self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
-  return let final core::int? #t28 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t28{core::int};
+  return let final core::int? #t18 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t18{core::int};
 }
 static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int? #t29 = self::init<core::int?>(32);
+    final core::int? #t19 = self::init<core::int?>(32);
     if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1");
-    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t29;
+    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t19;
     self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer1;
@@ -234,39 +234,39 @@
     self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0;
     self::_#nonNullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
   }
-  return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30{core::int};
+  return let final core::int? #t20 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t20{core::int};
 }
-static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void {
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int nonNullableFinalTopLevelFieldWithInitializer2Init#param) → void {
   self::_#nonNullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
-  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
+  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = nonNullableFinalTopLevelFieldWithInitializer2Init#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int {
   if(!self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int #t32 = (let final core::int #t33 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t33.{core::num::+}(1){(core::num) → core::int} in #t33) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
+    final core::int #t21 = (let final core::int #t22 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t23 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t22.{core::num::+}(1){(core::num) → core::int} in #t22) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
     if(self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2");
-    self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t32;
+    self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t21;
     self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
-  return let final core::int? #t35 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t35{core::int};
+  return let final core::int? #t24 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t24{core::int};
 }
 static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet) {
     self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0;
     self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
   }
-  return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36{core::int};
+  return let final core::int? #t25 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t25{core::int};
 }
-static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void {
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int nullableFinalTopLevelFieldWithInitializer2Init#param) → void {
   self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
-  self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
+  self::_#nullableFinalTopLevelFieldWithInitializer2Init = nullableFinalTopLevelFieldWithInitializer2Init#param;
 }
 static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+    final core::int? #t26 = (let final core::int #t27 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t28 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t27.{core::num::+}(1){(core::num) → core::int} in #t27) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
     if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
-    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
+    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t26;
     self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer2;
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.outline.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.outline.expect
index 0a31045..8aa1361 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.outline.expect
@@ -30,20 +30,20 @@
   synthetic constructor •() → self::Class
     ;
   static get nonNullableStaticFieldWithInitializer1() → core::int;
-  static set nonNullableStaticFieldWithInitializer1(core::int #t1) → void;
+  static set nonNullableStaticFieldWithInitializer1(core::int nonNullableStaticFieldWithInitializer1#param) → void;
   static get nullableStaticFieldWithInitializer1() → core::int?;
-  static set nullableStaticFieldWithInitializer1(core::int? #t2) → void;
+  static set nullableStaticFieldWithInitializer1(core::int? nullableStaticFieldWithInitializer1#param) → void;
   static get nonNullableStaticFieldWithInitializer2() → core::int;
-  static set nonNullableStaticFieldWithInitializer2(core::int #t3) → void;
+  static set nonNullableStaticFieldWithInitializer2(core::int nonNullableStaticFieldWithInitializer2#param) → void;
   static get nullableStaticFieldWithInitializer2() → core::int?;
-  static set nullableStaticFieldWithInitializer2(core::int? #t4) → void;
+  static set nullableStaticFieldWithInitializer2(core::int? nullableStaticFieldWithInitializer2#param) → void;
   static get nonNullableStaticFinalFieldWithInitializer1() → core::int;
   static get nullableStaticFinalFieldWithInitializer1() → core::int?;
   static get nonNullableStaticFinalFieldWithInitializer2Init() → core::int;
-  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t5) → void;
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int nonNullableStaticFinalFieldWithInitializer2Init#param) → void;
   static get nonNullableStaticFinalFieldWithInitializer2() → core::int;
   static get nullableStaticFinalFieldWithInitializer2Init() → core::int;
-  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t6) → void;
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int nullableStaticFinalFieldWithInitializer2Init#param) → void;
   static get nullableStaticFinalFieldWithInitializer2() → core::int?;
 }
 static field dynamic lastInit;
@@ -72,20 +72,20 @@
 static method init<T extends core::Object? = dynamic>(self::init::T% value) → self::init::T%
   ;
 static get nonNullableTopLevelFieldWithInitializer1() → core::int;
-static set nonNullableTopLevelFieldWithInitializer1(core::int #t7) → void;
+static set nonNullableTopLevelFieldWithInitializer1(core::int nonNullableTopLevelFieldWithInitializer1#param) → void;
 static get nullableTopLevelFieldWithInitializer() → core::int?;
-static set nullableTopLevelFieldWithInitializer(core::int? #t8) → void;
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void;
 static get nonNullableTopLevelFieldWithInitializer2() → core::int;
-static set nonNullableTopLevelFieldWithInitializer2(core::int #t9) → void;
+static set nonNullableTopLevelFieldWithInitializer2(core::int nonNullableTopLevelFieldWithInitializer2#param) → void;
 static get nullableTopLevelFieldWithInitializer2() → core::int?;
-static set nullableTopLevelFieldWithInitializer2(core::int? #t10) → void;
+static set nullableTopLevelFieldWithInitializer2(core::int? nullableTopLevelFieldWithInitializer2#param) → void;
 static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int;
 static get nullableFinalTopLevelFieldWithInitializer1() → core::int?;
 static get nonNullableFinalTopLevelFieldWithInitializer2Init() → core::int;
-static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t11) → void;
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int nonNullableFinalTopLevelFieldWithInitializer2Init#param) → void;
 static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int;
 static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int;
-static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t12) → void;
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int nullableFinalTopLevelFieldWithInitializer2Init#param) → void;
 static get nullableFinalTopLevelFieldWithInitializer2() → core::int?;
 static method main() → dynamic
   ;
diff --git a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect
index bae037b..ca912ed 100644
--- a/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/static_field_lowering/opt_in.dart.weak.transformed.expect
@@ -38,9 +38,9 @@
     }
     return let final core::int? #t1 = self::Class::_#nonNullableStaticFieldWithInitializer1 in #t1{core::int};
   }
-  static set nonNullableStaticFieldWithInitializer1(core::int #t2) → void {
+  static set nonNullableStaticFieldWithInitializer1(core::int nonNullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nonNullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nonNullableStaticFieldWithInitializer1 = #t2;
+    self::Class::_#nonNullableStaticFieldWithInitializer1 = nonNullableStaticFieldWithInitializer1#param;
   }
   static get nullableStaticFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer1#isSet) {
@@ -49,20 +49,20 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer1;
   }
-  static set nullableStaticFieldWithInitializer1(core::int? #t3) → void {
+  static set nullableStaticFieldWithInitializer1(core::int? nullableStaticFieldWithInitializer1#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer1#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer1 = #t3;
+    self::Class::_#nullableStaticFieldWithInitializer1 = nullableStaticFieldWithInitializer1#param;
   }
   static get nonNullableStaticFieldWithInitializer2() → core::int {
     if(!self::Class::_#nonNullableStaticFieldWithInitializer2#isSet) {
       self::Class::_#nonNullableStaticFieldWithInitializer2 = self::init<core::int>(55);
       self::Class::_#nonNullableStaticFieldWithInitializer2#isSet = true;
     }
-    return let final core::int? #t4 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t4{core::int};
+    return let final core::int? #t2 = self::Class::_#nonNullableStaticFieldWithInitializer2 in #t2{core::int};
   }
-  static set nonNullableStaticFieldWithInitializer2(core::int #t5) → void {
+  static set nonNullableStaticFieldWithInitializer2(core::int nonNullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nonNullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nonNullableStaticFieldWithInitializer2 = #t5;
+    self::Class::_#nonNullableStaticFieldWithInitializer2 = nonNullableStaticFieldWithInitializer2#param;
   }
   static get nullableStaticFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFieldWithInitializer2#isSet) {
@@ -71,26 +71,26 @@
     }
     return self::Class::_#nullableStaticFieldWithInitializer2;
   }
-  static set nullableStaticFieldWithInitializer2(core::int? #t6) → void {
+  static set nullableStaticFieldWithInitializer2(core::int? nullableStaticFieldWithInitializer2#param) → void {
     self::Class::_#nullableStaticFieldWithInitializer2#isSet = true;
-    self::Class::_#nullableStaticFieldWithInitializer2 = #t6;
+    self::Class::_#nullableStaticFieldWithInitializer2 = nullableStaticFieldWithInitializer2#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer1() → core::int {
     if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int #t7 = self::init<core::int>(73);
+      final core::int #t3 = self::init<core::int>(73);
       if(self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t7;
+      self::Class::_#nonNullableStaticFinalFieldWithInitializer1 = #t3;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer1#isSet = true;
     }
-    return let final core::int? #t8 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t8{core::int};
+    return let final core::int? #t4 = self::Class::_#nonNullableStaticFinalFieldWithInitializer1 in #t4{core::int};
   }
   static get nullableStaticFinalFieldWithInitializer1() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet) {
-      final core::int? #t9 = self::init<core::int?>(19);
+      final core::int? #t5 = self::init<core::int?>(19);
       if(self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer1");
-      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t9;
+      self::Class::_#nullableStaticFinalFieldWithInitializer1 = #t5;
       self::Class::_#nullableStaticFinalFieldWithInitializer1#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer1;
@@ -100,39 +100,39 @@
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = 0;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init#isSet = true;
     }
-    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t10{core::int};
+    return let final core::int? #t6 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init in #t6{core::int};
   }
-  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int #t11) → void {
+  static set nonNullableStaticFinalFieldWithInitializer2Init(core::int nonNullableStaticFinalFieldWithInitializer2Init#param) → void {
     self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init#isSet = true;
-    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = #t11;
+    self::Class::_#nonNullableStaticFinalFieldWithInitializer2Init = nonNullableStaticFinalFieldWithInitializer2Init#param;
   }
   static get nonNullableStaticFinalFieldWithInitializer2() → core::int {
     if(!self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int #t12 = (let final core::int #t13 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
+      final core::int #t7 = (let final core::int #t8 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init in let final core::int #t9 = self::Class::nonNullableStaticFinalFieldWithInitializer2Init = #t8.{core::num::+}(1){(core::num) → core::int} in #t8) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nonNullableStaticFinalFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
       if(self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nonNullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t12;
+      self::Class::_#nonNullableStaticFinalFieldWithInitializer2 = #t7;
       self::Class::_#nonNullableStaticFinalFieldWithInitializer2#isSet = true;
     }
-    return let final core::int? #t15 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t15{core::int};
+    return let final core::int? #t10 = self::Class::_#nonNullableStaticFinalFieldWithInitializer2 in #t10{core::int};
   }
   static get nullableStaticFinalFieldWithInitializer2Init() → core::int {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet) {
       self::Class::_#nullableStaticFinalFieldWithInitializer2Init = 0;
       self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet = true;
     }
-    return let final core::int? #t16 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t16{core::int};
+    return let final core::int? #t11 = self::Class::_#nullableStaticFinalFieldWithInitializer2Init in #t11{core::int};
   }
-  static set nullableStaticFinalFieldWithInitializer2Init(core::int #t17) → void {
+  static set nullableStaticFinalFieldWithInitializer2Init(core::int nullableStaticFinalFieldWithInitializer2Init#param) → void {
     self::Class::_#nullableStaticFinalFieldWithInitializer2Init#isSet = true;
-    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = #t17;
+    self::Class::_#nullableStaticFinalFieldWithInitializer2Init = nullableStaticFinalFieldWithInitializer2Init#param;
   }
   static get nullableStaticFinalFieldWithInitializer2() → core::int? {
     if(!self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet) {
-      final core::int? #t18 = (let final core::int #t19 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t20 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t19.{core::num::+}(1){(core::num) → core::int} in #t19) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+      final core::int? #t12 = (let final core::int #t13 = self::Class::nullableStaticFinalFieldWithInitializer2Init in let final core::int #t14 = self::Class::nullableStaticFinalFieldWithInitializer2Init = #t13.{core::num::+}(1){(core::num) → core::int} in #t13) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::Class::nullableStaticFinalFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
       if(self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet)
         throw new _in::LateError::fieldADI("nullableStaticFinalFieldWithInitializer2");
-      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t18;
+      self::Class::_#nullableStaticFinalFieldWithInitializer2 = #t12;
       self::Class::_#nullableStaticFinalFieldWithInitializer2#isSet = true;
     }
     return self::Class::_#nullableStaticFinalFieldWithInitializer2;
@@ -170,11 +170,11 @@
     self::_#nonNullableTopLevelFieldWithInitializer1 = self::init<core::int>(42);
     self::_#nonNullableTopLevelFieldWithInitializer1#isSet = true;
   }
-  return let final core::int? #t21 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t21{core::int};
+  return let final core::int? #t15 = self::_#nonNullableTopLevelFieldWithInitializer1 in #t15{core::int};
 }
-static set nonNullableTopLevelFieldWithInitializer1(core::int #t22) → void {
+static set nonNullableTopLevelFieldWithInitializer1(core::int nonNullableTopLevelFieldWithInitializer1#param) → void {
   self::_#nonNullableTopLevelFieldWithInitializer1#isSet = true;
-  self::_#nonNullableTopLevelFieldWithInitializer1 = #t22;
+  self::_#nonNullableTopLevelFieldWithInitializer1 = nonNullableTopLevelFieldWithInitializer1#param;
 }
 static get nullableTopLevelFieldWithInitializer() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer#isSet) {
@@ -183,20 +183,20 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer;
 }
-static set nullableTopLevelFieldWithInitializer(core::int? #t23) → void {
+static set nullableTopLevelFieldWithInitializer(core::int? nullableTopLevelFieldWithInitializer#param) → void {
   self::_#nullableTopLevelFieldWithInitializer#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer = #t23;
+  self::_#nullableTopLevelFieldWithInitializer = nullableTopLevelFieldWithInitializer#param;
 }
 static get nonNullableTopLevelFieldWithInitializer2() → core::int {
   if(!self::_#nonNullableTopLevelFieldWithInitializer2#isSet) {
     self::_#nonNullableTopLevelFieldWithInitializer2 = self::init<core::int>(42);
     self::_#nonNullableTopLevelFieldWithInitializer2#isSet = true;
   }
-  return let final core::int? #t24 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t24{core::int};
+  return let final core::int? #t16 = self::_#nonNullableTopLevelFieldWithInitializer2 in #t16{core::int};
 }
-static set nonNullableTopLevelFieldWithInitializer2(core::int #t25) → void {
+static set nonNullableTopLevelFieldWithInitializer2(core::int nonNullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nonNullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nonNullableTopLevelFieldWithInitializer2 = #t25;
+  self::_#nonNullableTopLevelFieldWithInitializer2 = nonNullableTopLevelFieldWithInitializer2#param;
 }
 static get nullableTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableTopLevelFieldWithInitializer2#isSet) {
@@ -205,26 +205,26 @@
   }
   return self::_#nullableTopLevelFieldWithInitializer2;
 }
-static set nullableTopLevelFieldWithInitializer2(core::int? #t26) → void {
+static set nullableTopLevelFieldWithInitializer2(core::int? nullableTopLevelFieldWithInitializer2#param) → void {
   self::_#nullableTopLevelFieldWithInitializer2#isSet = true;
-  self::_#nullableTopLevelFieldWithInitializer2 = #t26;
+  self::_#nullableTopLevelFieldWithInitializer2 = nullableTopLevelFieldWithInitializer2#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer1() → core::int {
   if(!self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int #t27 = self::init<core::int>(87);
+    final core::int #t17 = self::init<core::int>(87);
     if(self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer1");
-    self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t27;
+    self::_#nonNullableFinalTopLevelFieldWithInitializer1 = #t17;
     self::_#nonNullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
-  return let final core::int? #t28 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t28{core::int};
+  return let final core::int? #t18 = self::_#nonNullableFinalTopLevelFieldWithInitializer1 in #t18{core::int};
 }
 static get nullableFinalTopLevelFieldWithInitializer1() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer1#isSet) {
-    final core::int? #t29 = self::init<core::int?>(32);
+    final core::int? #t19 = self::init<core::int?>(32);
     if(self::_#nullableFinalTopLevelFieldWithInitializer1#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer1");
-    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t29;
+    self::_#nullableFinalTopLevelFieldWithInitializer1 = #t19;
     self::_#nullableFinalTopLevelFieldWithInitializer1#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer1;
@@ -234,39 +234,39 @@
     self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = 0;
     self::_#nonNullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
   }
-  return let final core::int? #t30 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t30{core::int};
+  return let final core::int? #t20 = self::_#nonNullableFinalTopLevelFieldWithInitializer2Init in #t20{core::int};
 }
-static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int #t31) → void {
+static set nonNullableFinalTopLevelFieldWithInitializer2Init(core::int nonNullableFinalTopLevelFieldWithInitializer2Init#param) → void {
   self::_#nonNullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
-  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = #t31;
+  self::_#nonNullableFinalTopLevelFieldWithInitializer2Init = nonNullableFinalTopLevelFieldWithInitializer2Init#param;
 }
 static get nonNullableFinalTopLevelFieldWithInitializer2() → core::int {
   if(!self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int #t32 = (let final core::int #t33 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t34 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t33.{core::num::+}(1){(core::num) → core::int} in #t33) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
+    final core::int #t21 = (let final core::int #t22 = self::nonNullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t23 = self::nonNullableFinalTopLevelFieldWithInitializer2Init = #t22.{core::num::+}(1){(core::num) → core::int} in #t22) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nonNullableFinalTopLevelFieldWithInitializer2.{core::num::+}(1){(core::num) → core::int} : 87;
     if(self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nonNullableFinalTopLevelFieldWithInitializer2");
-    self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t32;
+    self::_#nonNullableFinalTopLevelFieldWithInitializer2 = #t21;
     self::_#nonNullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
-  return let final core::int? #t35 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t35{core::int};
+  return let final core::int? #t24 = self::_#nonNullableFinalTopLevelFieldWithInitializer2 in #t24{core::int};
 }
 static get nullableFinalTopLevelFieldWithInitializer2Init() → core::int {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet) {
     self::_#nullableFinalTopLevelFieldWithInitializer2Init = 0;
     self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
   }
-  return let final core::int? #t36 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t36{core::int};
+  return let final core::int? #t25 = self::_#nullableFinalTopLevelFieldWithInitializer2Init in #t25{core::int};
 }
-static set nullableFinalTopLevelFieldWithInitializer2Init(core::int #t37) → void {
+static set nullableFinalTopLevelFieldWithInitializer2Init(core::int nullableFinalTopLevelFieldWithInitializer2Init#param) → void {
   self::_#nullableFinalTopLevelFieldWithInitializer2Init#isSet = true;
-  self::_#nullableFinalTopLevelFieldWithInitializer2Init = #t37;
+  self::_#nullableFinalTopLevelFieldWithInitializer2Init = nullableFinalTopLevelFieldWithInitializer2Init#param;
 }
 static get nullableFinalTopLevelFieldWithInitializer2() → core::int? {
   if(!self::_#nullableFinalTopLevelFieldWithInitializer2#isSet) {
-    final core::int? #t38 = (let final core::int #t39 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t40 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t39.{core::num::+}(1){(core::num) → core::int} in #t39) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
+    final core::int? #t26 = (let final core::int #t27 = self::nullableFinalTopLevelFieldWithInitializer2Init in let final core::int #t28 = self::nullableFinalTopLevelFieldWithInitializer2Init = #t27.{core::num::+}(1){(core::num) → core::int} in #t27) =={core::num::==}{(core::Object) → core::bool} 0 ?{core::int} self::nullableFinalTopLevelFieldWithInitializer2!.{core::num::+}(1){(core::num) → core::int} : 32;
     if(self::_#nullableFinalTopLevelFieldWithInitializer2#isSet)
       throw new _in::LateError::fieldADI("nullableFinalTopLevelFieldWithInitializer2");
-    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t38;
+    self::_#nullableFinalTopLevelFieldWithInitializer2 = #t26;
     self::_#nullableFinalTopLevelFieldWithInitializer2#isSet = true;
   }
   return self::_#nullableFinalTopLevelFieldWithInitializer2;
diff --git a/runtime/vm/compiler/backend/inliner_test.cc b/runtime/vm/compiler/backend/inliner_test.cc
index 4760a70..168018d 100644
--- a/runtime/vm/compiler/backend/inliner_test.cc
+++ b/runtime/vm/compiler/backend/inliner_test.cc
@@ -230,7 +230,6 @@
 
       // Loop body
       kMatchAndMoveTargetEntry,
-      kWordSize == 4 ? kMatchAndMoveBoxInt64 : kNop,
       kMatchAndMoveBoxInt64,
       kMatchAndMoveStoreIndexed,
       kMatchAndMoveBinaryInt64Op,
diff --git a/tools/VERSION b/tools/VERSION
index ba0dee3..9518591 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 16
 PATCH 0
-PRERELEASE 156
+PRERELEASE 157
 PRERELEASE_PATCH 0
\ No newline at end of file