#466. Adopt existing subtyping tests to NNBD
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t01.dart
index d83715b..06eadc8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t01.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t02.dart
index 970627c..86c828b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t02.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t03.dart
index b9ddd6f..0e3ca6a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A01_t03.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t01.dart
index 98959e5..10ab629 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t01.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t02.dart
index 0087663..460a398 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t02.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t03.dart
index 6ff1fcd..f260c44 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A02_t03.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t01.dart
index 09d8084..d818ebc 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t01.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t02.dart
index 98529b0..829392b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t02.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t03.dart
index cccb8df..4287d25 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A03_t03.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t01.dart
index 7a2d62a..c9ddca3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t02.dart
index d1f3d90..c47b5bf 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t03.dart
index 4763e6a..48c9d24 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A04_t03.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t01.dart
index 9d19c21..24ee09a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t02.dart
index f311c97..4ed52ec 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t03.dart
index feb8866..e3af10e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A05_t03.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t01.dart
index d00bfa7..a519af1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t02.dart
index 97735cd..4f3f569 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t03.dart
index 2e6f210..ec1781a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A06_t03.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t01.dart
index f6c0c5f..2a017b9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t02.dart
index 1d82a11..cfaec2f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t03.dart
index 11065d9..7bd300d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A07_t03.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t01.dart
index c2b5937..c19d87d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t02.dart
index a19643b..bd8de16 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t03.dart
index f07cd5d..e46acd2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A08_t03.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t01.dart
index b145d41..0652fe9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t02.dart
index f0d7eed..648eeca 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t03.dart
index a1408a6..f567867 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A09_t03.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t01.dart
index 96d8e64..95b6de0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t02.dart
index 2591ade..cfb31cb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t03.dart
index 8ac382f..dcd9728 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A10_t03.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t01.dart
index 9ec656d..a1f24ac 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t02.dart
index 8fcacb8..4198c86 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t02.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t03.dart
index 8485d1b..203aad0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A11_t03.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t01.dart
index 396f8af..a5a8aa3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t02.dart
index 4c766e1..07c16b1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t02.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t03.dart
index 8a9aa62..dc17e62 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A12_t03.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t01.dart
index 1c0b872..dfa1239 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t02.dart
index 393eb49..e651bcf 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t03.dart
index 26d9651..d675205 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A13_t03.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t01.dart
index 2cd1548..174a1a9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t02.dart
index 3d88a46..ce12963 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t03.dart
index a35928d..aae01a4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A14_t03.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t01.dart
index 62daf76..c766ebd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t02.dart
index dff2154..e689870 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t03.dart
index 65ebe34..a5c9989 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A15_t03.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t01.dart
index 6bd9b8e..bba515a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t02.dart
index 3aeb322..4287f02 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t02.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t03.dart
index 47bfb4e..721d650 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A16_t03.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t01.dart
index ccaaf72..dbb8ff4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t02.dart
index f01c86c..5323f9d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t03.dart
index 2c9aacb..2902959 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A17_t03.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t01.dart
index 9244280..ded5547 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t02.dart
index e26c59b..2506e25 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t03.dart
index 6fb661a..d688710 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_arguments_binding_A18_t03.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t01.dart
index 10b75e4..6b47d4d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t01.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -80,14 +83,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t02.dart
index 595bdce..f5b823d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t02.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -37,12 +40,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -67,12 +68,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t03.dart
index 015125b..7809085 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A01_t03.dart
@@ -25,17 +25,20 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -49,6 +52,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -68,7 +74,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t01.dart
index 3ce23b1..c7bec5f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t01.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -83,14 +86,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t02.dart
index 3f010b5..cddb2d5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t02.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -40,12 +43,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +71,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t03.dart
index 7b27680..5acfb01 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A02_t03.dart
@@ -26,19 +26,22 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +55,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +77,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t01.dart
index 9f51345..c2e5981 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t01.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
@@ -83,14 +87,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t02.dart
index 1df95fa..fdf3074 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t02.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
@@ -40,12 +44,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +72,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t03.dart
index c571f65..e4b00a9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A03_t03.dart
@@ -26,19 +26,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +56,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +78,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t01.dart
index cc8b3b3..76d1f95 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -82,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t02.dart
index 5b46e44..13c9917 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -39,12 +42,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -69,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t03.dart
index b177617..20f33b9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A04_t03.dart
@@ -25,19 +25,22 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -51,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -70,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t01.dart
index c9fd55f..bd86a71 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -82,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t02.dart
index 1701214..9881635 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -39,12 +42,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -69,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t03.dart
index c0402b1..1b81537 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A05_t03.dart
@@ -25,19 +25,22 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -51,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -70,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t01.dart
index 55a6615..1e23f82 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -82,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t02.dart
index 92502fd..9b23933 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -39,12 +42,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -69,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t03.dart
index 20299de..6b100aa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A06_t03.dart
@@ -25,19 +25,22 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -51,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -70,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t01.dart
index 0494200..aa3d5f0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -82,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t02.dart
index 128df87..1f0c0c5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -39,12 +42,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -69,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t03.dart
index c40f4a4..e0fdb40 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A07_t03.dart
@@ -25,19 +25,22 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -51,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -70,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t01.dart
index dc4b4e8..bc9265e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -82,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t02.dart
index 174a95e..6893978 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -39,12 +42,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -69,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t03.dart
index 8b34379..b080023 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A08_t03.dart
@@ -25,19 +25,22 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -51,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -70,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t01.dart
index 8da7683..c280ad6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -82,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t02.dart
index 30e2e96..d2da2a7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t02.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -39,12 +42,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -69,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t03.dart
index ad14212..52a4152 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A09_t03.dart
@@ -25,19 +25,22 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -51,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -70,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t01.dart
index b5563f4..ab5bcfc 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -83,14 +86,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t02.dart
index 36ee249..46013d6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -40,12 +43,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +71,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t03.dart
index d0b576f..611b2f8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A10_t03.dart
@@ -25,20 +25,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +55,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +77,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t01.dart
index 9464e04..e2b919b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -84,14 +87,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t02.dart
index 51f0051..9ab50dd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t02.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -41,12 +44,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -71,12 +72,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t03.dart
index 97ec2b2..0f8f093 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A11_t03.dart
@@ -26,20 +26,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -53,6 +56,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -72,7 +78,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t01.dart
index 7befc27..4e7812d7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -84,14 +87,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t02.dart
index 0275736..87cc238 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t02.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -41,12 +44,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -71,12 +72,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t03.dart
index 3de9b30..160acae 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A12_t03.dart
@@ -26,20 +26,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -53,6 +56,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -72,7 +78,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t01.dart
index 96dc2b9..fdf84f5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -83,14 +86,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t02.dart
index 6679cea..26fec1f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -40,12 +43,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +71,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t03.dart
index ce6eb3a..18b514a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A13_t03.dart
@@ -25,20 +25,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +55,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +77,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t01.dart
index eef2c4c..c9724c2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -83,14 +86,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t02.dart
index 378e656..9028b6f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -40,12 +43,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +71,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t03.dart
index a4378bc..8f87de6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A14_t03.dart
@@ -25,20 +25,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +55,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +77,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t01.dart
index c250856..ca05005 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -83,14 +86,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t02.dart
index f464197..fbb047f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -40,12 +43,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +71,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t03.dart
index 258d015..60fe6e3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A15_t03.dart
@@ -25,20 +25,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +55,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +77,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t01.dart
index cfa3508..095d21f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -84,14 +87,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t02.dart
index ef075dd..d5b446f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t02.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -41,12 +44,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -71,12 +72,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t03.dart
index ee9b466..6bdee3d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A16_t03.dart
@@ -26,20 +26,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -53,6 +56,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -72,7 +78,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t01.dart
index bceb002..f65b7b1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -83,14 +86,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t02.dart
index 0c72756..7106f8e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -40,12 +43,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +71,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t03.dart
index a77e621..4b52f44 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A17_t03.dart
@@ -25,20 +25,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +55,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +77,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t01.dart
index c038c5e..5ceed44 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -83,14 +86,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t02.dart
index 0a06ee8..1f2a99f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t02.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
@@ -40,12 +43,10 @@
 class ClassMemberSuper1_t02 {
   Function m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +71,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t03.dart
index 4f783a2..965bc79 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_class_member_A18_t03.dart
@@ -25,20 +25,23 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
 
 class ClassMemberMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +55,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +77,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>();
+  ClassMember2_t03<Function> c2 = new ClassMember2_t03<Function>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A01_t01.dart
index bae9ddc..bbfe8f7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A01_t01.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A02_t01.dart
index 25a9fe6..ba92e8b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A02_t01.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A03_t01.dart
index 46cd39d..9ed81f3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A03_t01.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A04_t01.dart
index 3159ccd..1299f63 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A04_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A05_t01.dart
index cd85bb0..0925971 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A05_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A06_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A06_t01.dart
index d93da98..925d0d2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A06_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A06_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A07_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A07_t01.dart
index f200319..1d6ca75 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A07_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A07_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A08_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A08_t01.dart
index 9b439ae..6605a46 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A08_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A08_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A09_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A09_t01.dart
index cd1b37f..69b0d9f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A09_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A09_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A10_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A10_t01.dart
index 787a3c9..055d8aa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A10_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A10_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A11_t01.dart
index 09f08de..165ed2c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A11_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A12_t01.dart
index f5a6820..0630c5d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A12_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A13_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A13_t01.dart
index de7c0b4..47960dc 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A13_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A13_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A14_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A14_t01.dart
index b358b7e..6d83130 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A14_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A14_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A15_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A15_t01.dart
index e880dc8..741b722 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A15_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A15_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A16_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A16_t01.dart
index e19cc6f..8743418 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A16_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A16_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A17_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A17_t01.dart
index fbed6f0..3c57ff3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A17_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A17_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A18_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A18_t01.dart
index 253456c..48c3314 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A18_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_global_variable_A18_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A01_t01.dart
index 0b43d39..0282ff6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A01_t01.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A02_t01.dart
index 85e7f54..2def92d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A02_t01.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A03_t01.dart
index 6b340b3..06bb56f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A03_t01.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A04_t01.dart
index 1bb5185..90d87a3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A04_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A05_t01.dart
index 2b12533..67df864 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A05_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A06_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A06_t01.dart
index 27b7843..3dc52f1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A06_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A06_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A07_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A07_t01.dart
index 3af3a4d..45fa3e0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A07_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A07_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A08_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A08_t01.dart
index ee3967d..3f21e12 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A08_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A08_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A09_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A09_t01.dart
index 4dddd3f..f5e4291 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A09_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A09_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A10_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A10_t01.dart
index 9efff73..b79bbde 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A10_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A10_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A11_t01.dart
index c3c017e..4f2d901 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A11_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A12_t01.dart
index cb76039..fa1f708 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A12_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A13_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A13_t01.dart
index 7b04f56..8473173 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A13_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A13_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A14_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A14_t01.dart
index 3b951ef..5732a65 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A14_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A14_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A15_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A15_t01.dart
index 3fe5cdc..d48937e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A15_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A15_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A16_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A16_t01.dart
index c12b097..ee4b24b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A16_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A16_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A17_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A17_t01.dart
index 0e7d08c..bf12b18 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A17_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A17_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A18_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A18_t01.dart
index 2f1645f..5eb60aa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A18_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_local_variable_A18_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A01_t01.dart
index a119656..5d9922e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A01_t01.dart
@@ -25,11 +25,14 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 typedef void T0();
 
 void t0Instance() {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A02_t01.dart
index ebea8fc..c4d3495 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A02_t01.dart
@@ -26,13 +26,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0();
 
 void t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A03_t01.dart
index a326364..09d44e6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A03_t01.dart
@@ -26,13 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0();
 
 C t0Instance() => new C();
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A04_t01.dart
index be260f9..215f35c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A04_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c);
 
 void t0Instance(C c) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A05_t01.dart
index ffbd499..5e1026d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A05_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c);
 
 C t0Instance(C c) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A06_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A06_t01.dart
index 6588b99..4e37f29 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A06_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A06_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, [dynamic d]);
 
 void t0Instance(C c, [dynamic d]) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A07_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A07_t01.dart
index 1548a4f..13f0342 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A07_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A07_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, [dynamic d]);
 
 C t0Instance(C c, [dynamic d]) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A08_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A08_t01.dart
index bd225da..c0fdf17 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A08_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A08_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0(C c, {dynamic d});
 
 void t0Instance(C c, {dynamic d}) {}
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A09_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A09_t01.dart
index 6deffbb..8f4ae9d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A09_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A09_t01.dart
@@ -25,13 +25,16 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0(C c, {dynamic d});
 
 C t0Instance(C c, {dynamic d}) => c;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A10_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A10_t01.dart
index 3458563..9320589 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A10_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A10_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A11_t01.dart
index 90e9d9b..6cc1f76 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A11_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>();
 void t0Func<X>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A12_t01.dart
index b9b380b..26d72f6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A12_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X extends C>();
 C t0Func<X extends C>() => new C();
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A13_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A13_t01.dart
index f0e9525..8ba3709 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A13_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A13_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c);
 void t0Func<X>(C c) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A14_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A14_t01.dart
index 43434fc..d671ef4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A14_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A14_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef X T0<X>(X x);
 X t0Func<X>(X x) => x;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A15_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A15_t01.dart
index a4776d6..a0fc336 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A15_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A15_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, [X d]);
 void t0Func<X>(C c, [X d]) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A16_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A16_t01.dart
index 2cd20ac..cb5ce56 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A16_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A16_t01.dart
@@ -26,14 +26,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, [X d]);
 C t0Func<X>(C c, [X d]) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A17_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A17_t01.dart
index 3da5e8b..af32566 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A17_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A17_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef void T0<X>(C c, {X x});
 void t0Func<X>(C c, {X x}) {}
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A18_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A18_t01.dart
index a20299a..5c9b62b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A18_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/function_type_function_return_value_A18_t01.dart
@@ -25,14 +25,17 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class C {}
 
 typedef C T0<X>(C c, {X x});
 C t0Func<X>(C c, {X x}) => c;
 
 T0<C> t0Instance = t0Func;
-Function t1Instance = null;
+Function t1Instance = () {};
+
+void foo() {}
+const t1Default = foo;
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t01.dart
index c201045..1e8a4b0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t02.dart
index 90908f6..1cdf974 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t02.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t03.dart
index e181e4d..1aefb42 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A01_t03.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t01.dart
index 28d4409..25f2ffb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t02.dart
index f0fd337..d860754 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t02.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t03.dart
index 9345398..ffc8bd1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_arguments_binding_A02_t03.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t01.dart
index 2544d00..f26811e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
@@ -90,14 +94,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t02.dart
index 9cd100b..cf5f3ef 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t02.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,23 +36,25 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ClassMemberSuper1_t02 {
   C0<U0, U1, U2> m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -77,12 +79,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t03.dart
index 5e54850..dc6724d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A01_t03.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,16 +36,20 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  C0<U0, U1, U2> m;
+  C0<U0, U1, U2> m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -59,6 +63,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -78,7 +85,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<C0<U0, U1, U2>> c2 = new ClassMember2_t03<C0<U0, U1, U2>>();
+  ClassMember2_t03<C0<U0, U1, U2>> c2 = new ClassMember2_t03<C0<U0, U1, U2>>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t01.dart
index 9dbd757..8d9c1b7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
@@ -90,14 +94,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t02.dart
index 07be0c8..38d0417 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t02.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,23 +36,25 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ClassMemberSuper1_t02 {
   C0<U0, U1, U2> m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -77,12 +79,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t03.dart
index 9ae469c..a93be5d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_class_member_A02_t03.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,16 +36,20 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  C0<U0, U1, U2> m;
+  C0<U0, U1, U2> m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -59,6 +63,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -78,7 +85,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<C0<U0, U1, U2>> c2 = new ClassMember2_t03<C0<U0, U1, U2>>();
+  ClassMember2_t03<C0<U0, U1, U2>> c2 = new ClassMember2_t03<C0<U0, U1, U2>>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t01.dart
index d804489..d42634e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t01.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,11 +38,15 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t02.dart
index c29b9f3..3fb8157 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t02.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,11 +38,15 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t03.dart
index e382152..28fce82 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_arguments_binding_fail_A01_t03.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,18 +38,22 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(C0<U0, U1, U2> val) {}
-  void superTestPositioned(C0<U0, U1, U2> val, [C0<U0, U1, U2> val2]) {}
-  void superTestNamed(C0<U0, U1, U2> val, {C0<U0, U1, U2> val2}) {}
+  void superTestPositioned(C0<U0, U1, U2> val, [C0<U0, U1, U2> val2 = t1Default]) {}
+  void superTestNamed(C0<U0, U1, U2> val, {C0<U0, U1, U2> val2 = t1Default}) {}
   C0<U0, U1, U2> get superGetter => forgetType(t0Instance);
   void set superSetter(C0<U0, U1, U2> val) {}
 }
@@ -145,8 +149,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t01.dart
index 554d32b..88dce24 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t01.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,16 +38,20 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ClassMemberTestStatic {
-  static C0<U0, U1, U2> s;
+  static C0<U0, U1, U2> s = t1Default;
 
   ClassMemberTestStatic(dynamic val) {
     s = val;
@@ -65,7 +69,7 @@
 }
 
 class ClassMemberTestPublic {
-  C0<U0, U1, U2> m;
+  C0<U0, U1, U2> m = t1Default;
 
   ClassMemberTestPublic(dynamic val) {
     m = val;
@@ -87,7 +91,7 @@
 }
 
 class ClassMemberTestPrivate {
-  C0<U0, U1, U2> _m;
+  C0<U0, U1, U2> _m = t1Default;
 
   ClassMemberTestPrivate(dynamic val) {
     _m = val;
@@ -114,14 +118,11 @@
 class ClassMemberTestGenericPublic<X> {
   X m;
 
-  ClassMemberTestGenericPublic(dynamic val) {
-    m = val;
+  ClassMemberTestGenericPublic(dynamic val): m = val {
   }
 
   ClassMemberTestGenericPublic.short(this.m);
 
-  ClassMemberTestGenericPublic.validConstructor() {}
-
   test(dynamic val) {
     m = val;
   }
@@ -136,14 +137,11 @@
 class ClassMemberTestGenericPrivate<X> {
   X _m;
 
-  ClassMemberTestGenericPrivate(dynamic val) {
-    _m = val;
+  ClassMemberTestGenericPrivate(dynamic val): _m = val {
   }
 
   ClassMemberTestGenericPrivate.short(this._m);
 
-  ClassMemberTestGenericPrivate.validConstructor() {}
-
   test(dynamic val) {
     _m = val;
   }
@@ -179,30 +177,30 @@
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestPublic(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().setter = t0Instance;
+    new ClassMemberTestPublic(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().setter = t0Instance;
+    new ClassMemberTestPrivate(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().test(t0Instance);
+    new ClassMemberTestPublic(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().test(t0Instance);
+    new ClassMemberTestPrivate(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().getter;
+    new ClassMemberTestPublic(t1Instance).getter;
   }, (e) => e is TypeError);
 
 
@@ -228,30 +226,30 @@
   //# <-- NotGenericFunctionType
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>.validConstructor().getter;
+    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>(t1Instance).getter;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<C0<U0, U1, U2>>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPrivate<C0<U0, U1, U2>>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<C0<U0, U1, U2>>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPrivate<C0<U0, U1, U2>>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestGenericPublic<C0<U0, U1, U2>>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test constructors
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t02.dart
index b4dec45..17c2e31 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t02.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,16 +38,20 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ClassMemberSuper1_t02 {
-  C0<U0, U1, U2> m;
+  C0<U0, U1, U2> m = t1Default;
 
   ClassMemberSuper1_t02(dynamic value) {
     m = value;
@@ -84,12 +88,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(X value) {
-    m = value;
+  ClassMemberSuper2_t02(X value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(X value) {
-    m = value;
+  ClassMemberSuper2_t02.named(X value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
@@ -105,8 +107,6 @@
 
   ClassMember2_t02.short() : super.short(forgetType(t0Instance));
 
-  ClassMember2_t02.valid() : super(null);
-
   test1() {
     m = forgetType(t0Instance);
   }
@@ -121,16 +121,16 @@
   Expect.throws(() {new ClassMember1_t02.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember1_t02.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().m = forgetType(t0Instance);
+    new ClassMember1_t02().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().superSetter = forgetType(t0Instance);
+    new ClassMember1_t02().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test1();
+    new ClassMember1_t02().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test2();
+    new ClassMember1_t02().test2();
   }, (e) => e is TypeError);
 
   // Test type parameters
@@ -140,16 +140,16 @@
   Expect.throws(() {new ClassMember2_t02<C0<U0, U1, U2>>.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember2_t02<C0<U0, U1, U2>>.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<C0<U0, U1, U2>>.valid().m = forgetType(t0Instance);
+    new ClassMember2_t02<C0<U0, U1, U2>>().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<C0<U0, U1, U2>>.valid().superSetter = forgetType(t0Instance);
+    new ClassMember2_t02<C0<U0, U1, U2>>().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<C0<U0, U1, U2>>.valid().test1();
+    new ClassMember2_t02<C0<U0, U1, U2>>().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<C0<U0, U1, U2>>.valid().test2();
+    new ClassMember2_t02<C0<U0, U1, U2>>().test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t03.dart
index 3c8fdca..70ba6f9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_class_member_fail_A01_t03.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,16 +38,20 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class ClassMemberSuper1_t03 {
-  C0<U0, U1, U2> m;
+  C0<U0, U1, U2> m = t1Default;
 
   void set superSetter(C0<U0, U1, U2> val) {}
 }
@@ -66,11 +70,15 @@
 class ClassMemberSuper2_t03<X> {
   X m;
 
+  ClassMemberSuper2_t03(X x) : m = x {}
+
   void set superSetter(X val) {}
 }
 
 class ClassMember2_t03<X> extends ClassMemberSuper2_t03<X> {
 
+  ClassMember2_t03(X x): super(x) {}
+
   test1() {
     m = forgetType(t0Instance);
   }
@@ -98,16 +106,16 @@
 
   //# <-- NotGenericFunctionType
   Expect.throws(() {
-    new ClassMember2_t03<C0<U0, U1, U2>>().m = forgetType(t0Instance);
+    new ClassMember2_t03<C0<U0, U1, U2>>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<C0<U0, U1, U2>>().superSetter = forgetType(t0Instance);
+    new ClassMember2_t03<C0<U0, U1, U2>>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<C0<U0, U1, U2>>().test1();
+    new ClassMember2_t03<C0<U0, U1, U2>>(t1Instance).test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<C0<U0, U1, U2>>().test2();
+    new ClassMember2_t03<C0<U0, U1, U2>>(t1Instance).test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_global_variable_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_global_variable_fail_A01_t01.dart
index 1bfbaf5..20e7bfc 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_global_variable_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_global_variable_fail_A01_t01.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,11 +38,15 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_local_variable_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_local_variable_fail_A01_t01.dart
index 79c0a3e..dba3106 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_local_variable_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_local_variable_fail_A01_t01.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,43 +38,42 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
 class LocalVariableTest {
 
   LocalVariableTest() {
-    C0<U0, U1, U2> t1 = null;
-    t1 = forgetType(t0Instance);
+    C0<U0, U1, U2> t1 = forgetType(t0Instance);
   }
 
   LocalVariableTest.valid() {}
 
   static staticTest() {
-    C0<U0, U1, U2> t1 = null;
-    t1 = forgetType(t0Instance);
+    C0<U0, U1, U2> t1 = forgetType(t0Instance);
   }
 
   test() {
-    C0<U0, U1, U2> t1 = null;
-    t1 = forgetType(t0Instance);
+    C0<U0, U1, U2> t1 = forgetType(t0Instance);
   }
 }
 
 main() {
   bar () {
-    C0<U0, U1, U2> t1 = null;
-    t1 = forgetType(t0Instance);
+    C0<U0, U1, U2> t1 = forgetType(t0Instance);
   }
 
   Expect.throws(() {
-    C0<U0, U1, U2> t1 = null;
-    t1 = forgetType(t0Instance);
+    C0<U0, U1, U2> t1 = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_return_value_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_return_value_fail_A01_t01.dart
index 37e87d1..11abaaf 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_return_value_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_fail_return_value_fail_A01_t01.dart
@@ -28,7 +28,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -38,11 +38,15 @@
 // no subtype relation between S2 and U2
 abstract class S2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A01_t01.dart
index 7df0f1e..bacdeac 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A01_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A02_t01.dart
index d3d8abb..b3c8aed 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_global_variable_A02_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A01_t01.dart
index f1144ea..064d961 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A01_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A02_t01.dart
index 725fcce..ccb3946 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_local_variable_A02_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A01_t01.dart
index 5b65a1c..aed4952 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A01_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends U1 {}
 abstract class S2 extends U2 {}
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A02_t01.dart
index 54583dd..c33c639 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/interface_compositionality_return_value_A02_t01.dart
@@ -27,7 +27,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 abstract class U0 {}
 abstract class U1 {}
 abstract class U2 {}
@@ -36,11 +36,15 @@
 abstract class S1 extends Object with U1 {}
 class S2 = Object with U2;
 
-class C0<X, Y, Z> {}
+class C0<X, Y, Z> {
+  const C0();
+}
 
 C0<S0, S1, S2> t0Instance = new C0<S0, S1, S2>();
 C0<U0, U1, U2> t1Instance = new C0<U0, U1, U2>();
 
+const t1Default = const C0<U0, U1, U2>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t01.dart
index a86a619..0cff109 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 namedArgumentsFunc1(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t02.dart
index b4c5ff8..40cd8b9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t02.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t03.dart
index b747aac..77db48d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A01_t03.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t01.dart
index c2feb61..4ac4829 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 namedArgumentsFunc1(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t02.dart
index b289ace..a0f6c0a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t02.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t03.dart
index 67659ab..8a217ae 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A02_t03.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t01.dart
index 99df5a8..da7a84d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t01.dart
@@ -28,17 +28,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 namedArgumentsFunc1(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t02.dart
index ed1bb39..24cbfa7a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t02.dart
@@ -28,17 +28,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t03.dart
index a2ffce5..f7e3273 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A03_t03.dart
@@ -28,17 +28,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t01.dart
index 5a1eb64..978c854 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t01.dart
@@ -29,17 +29,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 namedArgumentsFunc1(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t02.dart
index c0bc954..fad0ddd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t02.dart
@@ -29,17 +29,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t03.dart
index 018edb3..f27d43c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_arguments_binding_A04_t03.dart
@@ -29,17 +29,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t01.dart
index 6dba0e8..b2df0ed 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
@@ -86,14 +90,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t02.dart
index d68ce49..0e38442 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t02.dart
@@ -28,27 +28,29 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
 class ClassMemberSuper1_t02 {
   FutureOr<C> m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -73,12 +75,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t03.dart
index 1d81bac..95af27b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A01_t03.dart
@@ -28,20 +28,24 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  FutureOr<C> m;
+  FutureOr<C> m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -55,6 +59,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -74,7 +81,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<FutureOr<C>> c2 = new ClassMember2_t03<FutureOr<C>>();
+  ClassMember2_t03<FutureOr<C>> c2 = new ClassMember2_t03<FutureOr<C>>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t01.dart
index 97b004f..f9aa27d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
@@ -86,14 +90,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t02.dart
index 60922d9..a42e565 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t02.dart
@@ -28,27 +28,29 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
 class ClassMemberSuper1_t02 {
   FutureOr<C> m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -73,12 +75,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t03.dart
index e5bbffe..64d96c8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A02_t03.dart
@@ -28,20 +28,24 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  FutureOr<C> m;
+  FutureOr<C> m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -55,6 +59,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -74,7 +81,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<FutureOr<C>> c2 = new ClassMember2_t03<FutureOr<C>>();
+  ClassMember2_t03<FutureOr<C>> c2 = new ClassMember2_t03<FutureOr<C>>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t01.dart
index cc14404..0b900ea 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t01.dart
@@ -28,17 +28,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
@@ -88,14 +92,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t02.dart
index ef80ab8..973e89b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t02.dart
@@ -28,29 +28,31 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
 class ClassMemberSuper1_t02 {
   FutureOr<C<A>> m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -75,12 +77,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t03.dart
index 7ffd8d2..c7df404 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A03_t03.dart
@@ -28,22 +28,26 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  FutureOr<C<A>> m;
+  FutureOr<C<A>> m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -57,6 +61,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -76,7 +83,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<FutureOr<C<A>>> c2 = new ClassMember2_t03<FutureOr<C<A>>>();
+  ClassMember2_t03<FutureOr<C<A>>> c2 = new ClassMember2_t03<FutureOr<C<A>>>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t01.dart
index 269b8b4..3a09036 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t01.dart
@@ -29,17 +29,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
@@ -89,14 +93,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t02.dart
index dd3ed1f..9cd4a52 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t02.dart
@@ -29,29 +29,31 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
 class ClassMemberSuper1_t02 {
   FutureOr<C<A>> m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -76,12 +78,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t03.dart
index 5b7425e..d03ea06 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_class_member_A04_t03.dart
@@ -29,22 +29,26 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  FutureOr<C<A>> m;
+  FutureOr<C<A>> m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -58,6 +62,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -77,7 +84,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<FutureOr<C<A>>> c2 = new ClassMember2_t03<FutureOr<C<A>>>();
+  ClassMember2_t03<FutureOr<C<A>>> c2 = new ClassMember2_t03<FutureOr<C<A>>>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t01.dart
deleted file mode 100644
index 3c55a64..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t01.dart
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 not a subtype of a type T1, then it cannot
- * be used as an argument of type T1
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * arguments_binding_fail_x01.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-namedArgumentsFunc1(Future<S0> t1, {Future<S0> t2 = t1Default}) {}
-positionalArgumentsFunc1(Future<S0> t1, [Future<S0> t2 = t1Default]) {}
-
-namedArgumentsFunc2<X>(X t1, {required X t2}) {}
-
-class ArgumentsBindingClass {
-  ArgumentsBindingClass(Future<S0> t1) {}
-
-  ArgumentsBindingClass.named(Future<S0> t1, {Future<S0> t2 = t1Default}) {}
-
-  factory ArgumentsBindingClass.fNamed(Future<S0> t1, {Future<S0> t2 = t1Default}) {
-    return new ArgumentsBindingClass.named(t1, t2: t2);
-  }
-  factory ArgumentsBindingClass.fPositional(Future<S0> t1, [Future<S0> t2 = t1Default]) {
-    return new ArgumentsBindingClass.named(t1, t2: t2);
-  }
-
-  static namedArgumentsStaticMethod(Future<S0> t1, {Future<S0> t2 = t1Default}) {}
-  static positionalArgumentsStaticMethod(Future<S0> t1, [Future<S0> t2 = t1Default]) {}
-
-  namedArgumentsMethod(Future<S0> t1, {Future<S0> t2 = t1Default}) {}
-  positionalArgumentsMethod(Future<S0> t1, [Future<S0> t2 = t1Default]) {}
-
-  set testSetter(Future<S0> val) {}
-}
-
-class ArgumentsBindingClassGen<X> {
-  ArgumentsBindingClassGen(X t1) {}
-
-  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
-
-  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
-    return new ArgumentsBindingClassGen.named(t1, t2: t2);
-  }
-
-  namedArgumentsMethod(X t1, {required X t2}) {}
-
-  set testSetter(X val) {}
-}
-
-class ArgumentsBindingClassSuper {
-  ArgumentsBindingClassSuper(Future<S0> t1) {}
-}
-
-class ArgumentsBindingDesc extends ArgumentsBindingClassSuper {
-  ArgumentsBindingDesc(FutureOr<S0> t0) : super (forgetType(t0)) {}
-}
-
-main() {
-  // Test functions
-  Expect.throws(() {
-    namedArgumentsFunc1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    namedArgumentsFunc1(t1Instance, t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc1(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  // Test constructors
-  Expect.throws(() {
-    new ArgumentsBindingClass(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.named(t1Instance, t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.fNamed(t1Instance, t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  // Test instance methods and setters
-  Expect.throws(() {
-    new ArgumentsBindingClass(t1Instance).namedArgumentsMethod(
-        forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass(t1Instance).namedArgumentsMethod(t1Instance,
-        t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass(t1Instance).positionalArgumentsMethod(
-        forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass(t1Instance).positionalArgumentsMethod(t1Instance,
-        forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass(t1Instance).testSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  // Test static methods
-  Expect.throws(() {
-    ArgumentsBindingClass.namedArgumentsStaticMethod(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    ArgumentsBindingClass.namedArgumentsStaticMethod(t1Instance,
-        t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    ArgumentsBindingClass.positionalArgumentsStaticMethod(
-        forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    ArgumentsBindingClass.positionalArgumentsStaticMethod(t1Instance,
-        forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  // Test type parameters
-
-  //# <-- NotGenericFunctionType
-  // Test generic functions
-  Expect.throws(() {
-    namedArgumentsFunc2<Future<S0>>(t1Instance, t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  // Test constructors
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>.named(t1Instance, t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>.fNamed(t1Instance, t2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-
-  // Test instance methods and setters
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>(t1Instance).namedArgumentsMethod(t1Instance,
-    t2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>(t1Instance).testSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  //# -->
-
-  // Test superclass constructor call
-  Expect.throws(() {
-    new ArgumentsBindingDesc(t0Instance);
-  }, (e) => e is TypeError);
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t02.dart
deleted file mode 100644
index 3169739..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t02.dart
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 not a subtype of a type T1, then it cannot
- * be used as an argument of type T1. Test superclass members
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * arguments_binding_fail_x02.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-class ArgumentsBindingSuper1_t02 {
-  Future<S0> m;
-
-  ArgumentsBindingSuper1_t02(Future<S0> value): m = value {}
-  ArgumentsBindingSuper1_t02.named(Future<S0> value, {Future<S0> val2 = t1Default}): m = value {}
-  ArgumentsBindingSuper1_t02.positional(Future<S0> value, [Future<S0> val2 = t1Default]): m = value {}
-  ArgumentsBindingSuper1_t02.short(this.m);
-
-  void superTest(Future<S0> val) {}
-  void superTestPositioned(Future<S0> val, [Future<S0> val2 = t1Default]) {}
-  void superTestNamed(Future<S0> val, {Future<S0> val2 = t1Default}) {}
-  Future<S0> get superGetter => forgetType(t0Instance);
-  void set superSetter(Future<S0> val) {}
-}
-
-class ArgumentsBinding1_t02 extends ArgumentsBindingSuper1_t02 {
-  ArgumentsBinding1_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding1_t02.c1(dynamic t1) : super.named(t1) {}
-  ArgumentsBinding1_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding1_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
-  ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
-
-  test() {
-    Expect.throws(() {
-      superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superGetter;
-    }, (e) => e is TypeError);
-  }
-}
-
-class ArgumentsBindingSuper2_t02<X> {
-  X m;
-
-  ArgumentsBindingSuper2_t02(X value): m = value {}
-  ArgumentsBindingSuper2_t02.named(X value, {required X val2}): m = value {}
-  ArgumentsBindingSuper2_t02.short(this.m);
-
-  void superTest(X val) {}
-  void superTestNamed(X val, {required X val2}) {}
-  X get superGetter => forgetType(t0Instance);
-  void set superSetter(X val) {}
-}
-
-class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
-  ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
-
-  test() {
-    Expect.throws(() {
-      superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superGetter;
-    }, (e) => e is TypeError);
-  }
-}
-
-main() {
-  // test constructors
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02.c5(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  // test class members
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t02(t1Instance).superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding1_t02(t1Instance).test();
-
-  // Test type parameters
-
-  //# <-- NotGenericFunctionType
-  // test generic class constructors
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.c2(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.c5(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  // test generic class members
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superTest(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<Future<S0>>(t1Instance).test();
-  //# -->
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t03.dart
deleted file mode 100644
index 2dd4e32..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A01_t03.dart
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 not a subtype of a type T1, then it cannot
- * be used as an argument of type T1. Test mixin members
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * arguments_binding_fail_x03.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-class ArgumentsBindingSuper1_t03 {
-  void superTest(Future<S0> val) {}
-  void superTestPositioned(Future<S0> val, [Future<S0> val2]) {}
-  void superTestNamed(Future<S0> val, {Future<S0> val2}) {}
-  Future<S0> get superGetter => forgetType(t0Instance);
-  void set superSetter(Future<S0> val) {}
-}
-
-class ArgumentsBinding1_t03 extends Object with ArgumentsBindingSuper1_t03 {
-
-  test() {
-    Expect.throws(() {
-      superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superGetter;
-    }, (e) => e is TypeError);
-  }
-}
-
-class ArgumentsBindingSuper2_t03<X> {
-  void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => forgetType(t0Instance);
-  void set superSetter(X val) {}
-}
-
-class ArgumentsBinding2_t03<X> extends Object with ArgumentsBindingSuper2_t03<X> {
-
-  test() {
-    Expect.throws(() {
-      superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTest(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestPositioned(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestNamed(forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superSetter = forgetType(t0Instance);
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      this.superGetter;
-    }, (e) => e is TypeError);
-
-    Expect.throws(() {
-      super.superGetter;
-    }, (e) => e is TypeError);
-  }
-}
-
-main() {
-  // test class members
-  Expect.throws(() {
-    new ArgumentsBinding1_t03().superTest(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t03().superTestPositioned(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t03().superTestPositioned(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t03().superTestNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t03().superTestNamed(t1Instance, val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t03().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding1_t03().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding1_t03().test();
-
-  // Test type parameters
-
-  //# <-- NotGenericFunctionType
-  // test generic class members
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superTest(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superTest(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superTestPositioned(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
-    }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superTestNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t03<Future<S0>>().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t03<Future<S0>>().test();
-  //# -->
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t01.dart
index 50bd920..71265ef 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t01.dart
@@ -29,15 +29,19 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t02.dart
index 1eefac9..dfcc570 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t02.dart
@@ -29,15 +29,19 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t03.dart
index cff40a1..5fb3373 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A02_t03.dart
@@ -29,22 +29,26 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(T1 val) {}
-  void superTestPositioned(T1 val, [T1 val2]) {}
-  void superTestNamed(T1 val, {T1 val2}) {}
+  void superTestPositioned(T1 val, [T1 val2 = t1Default]) {}
+  void superTestNamed(T1 val, {T1 val2 = t1Default}) {}
   T1 get superGetter => forgetType(t0Instance);
   void set superSetter(T1 val) {}
 }
@@ -140,8 +144,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t01.dart
index c8e1e10..df78e65 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t01.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,6 +47,8 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t02.dart
index 3f8f4ed..7a7519c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t02.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,6 +47,8 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t03.dart
index 81f8d50..dc1b939 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_arguments_binding_fail_A03_t03.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,13 +47,15 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(Future<C1> val) {}
-  void superTestPositioned(Future<C1> val, [Future<C1> val2]) {}
-  void superTestNamed(Future<C1> val, {Future<C1> val2}) {}
+  void superTestPositioned(Future<C1> val, [Future<C1> val2 = t1Default]) {}
+  void superTestNamed(Future<C1> val, {Future<C1> val2 = t1Default}) {}
   Future<C1> get superGetter => forgetType(t0Instance);
   void set superSetter(Future<C1> val) {}
 }
@@ -147,8 +151,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t01.dart
deleted file mode 100644
index e1903b8..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t01.dart
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 not a subtype of a type T1, then it cannot
- * be used as a class member of type T1
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * class_member_fail_x01.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-class ClassMemberTestStatic {
-  static Future<S0> s;
-
-  ClassMemberTestStatic(dynamic val) {
-    s = val;
-  }
-
-  static staticTest() {
-    s = forgetType(t0Instance);
-  }
-
-  static set staticSetter(dynamic val) {
-    s = val;
-  }
-
-  static Future<S0> get staticGetter => forgetType(t0Instance);
-}
-
-class ClassMemberTestPublic {
-  Future<S0> m;
-
-  ClassMemberTestPublic(dynamic val) {
-    m = val;
-  }
-
-  ClassMemberTestPublic.short(this.m);
-
-  ClassMemberTestPublic.validConstructor() {}
-
-  test(dynamic val) {
-    m = val;
-  }
-
-  set setter(dynamic val) {
-    m = val;
-  }
-
-  Future<S0> get getter => forgetType(t0Instance);
-}
-
-class ClassMemberTestPrivate {
-  Future<S0> _m;
-
-  ClassMemberTestPrivate(dynamic val) {
-    _m = val;
-  }
-
-  ClassMemberTestPrivate.short(this._m);
-
-  ClassMemberTestPrivate.validConstructor() {}
-
-  test(dynamic val) {
-    _m = val;
-  }
-
-  set setter(dynamic val) {
-    _m = val;
-  }
-}
-
-class ClassMemberTestInitFail {
-  static Future<S0> s = forgetType(t0Instance);
-  Future<S0> m = forgetType(t0Instance);
-}
-
-class ClassMemberTestGenericPublic<X> {
-  X m;
-
-  ClassMemberTestGenericPublic(dynamic val) {
-    m = val;
-  }
-
-  ClassMemberTestGenericPublic.short(this.m);
-
-  ClassMemberTestGenericPublic.validConstructor() {}
-
-  test(dynamic val) {
-    m = val;
-  }
-
-  set setter(dynamic val) {
-    m = val;
-  }
-
-  X get getter => forgetType(t0Instance);
-}
-
-class ClassMemberTestGenericPrivate<X> {
-  X _m;
-
-  ClassMemberTestGenericPrivate(dynamic val) {
-    _m = val;
-  }
-
-  ClassMemberTestGenericPrivate.short(this._m);
-
-  ClassMemberTestGenericPrivate.validConstructor() {}
-
-  test(dynamic val) {
-    _m = val;
-  }
-
-  set setter(dynamic val) {
-    _m = val;
-  }
-}
-
-
-main() {
-
-  // Test initialization
-  Expect.throws(() {ClassMemberTestInitFail.s;}, (e) => e is TypeError);
-  Expect.throws(() {new ClassMemberTestInitFail();}, (e) => e is TypeError);
-
-  // Test constructors
-  Expect.throws(() {
-    new ClassMemberTestPublic(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestPublic.short(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestPrivate(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestPrivate.short(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  // Test class variables
-  Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().m = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  // Test setters
-  Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().setter = t0Instance;
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().setter = t0Instance;
-  }, (e) => e is TypeError);
-
-  // Test methods
-  Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().test(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().test(t0Instance);
-  }, (e) => e is TypeError);
-
-  // Test getters
-  Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().getter;
-  }, (e) => e is TypeError);
-
-
-  // Test static stuff
-  Expect.throws(() {
-    new ClassMemberTestStatic(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    ClassMemberTestStatic.staticSetter = t0Instance;
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    ClassMemberTestStatic.staticGetter;
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    ClassMemberTestStatic.staticTest();
-  }, (e) => e is TypeError);
-
-  // Test type parameters
-
-  //# <-- NotGenericFunctionType
-  // Test getters
-  Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<S0>>.validConstructor().getter;
-  }, (e) => e is TypeError);
-
-  // Test methods
-  Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<S0>>.validConstructor().test(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestGenericPrivate<Future<S0>>.validConstructor().test(t0Instance);
-  }, (e) => e is TypeError);
-
-  // Test setters
-  Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<S0>>.validConstructor().setter = t0Instance;
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestGenericPrivate<Future<S0>>.validConstructor().setter = t0Instance;
-  }, (e) => e is TypeError);
-
-  // Test class variables
-  Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<S0>>.validConstructor().m = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  // Test constructors
-  Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<S0>>(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<S0>>.short(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestGenericPrivate<Future<S0>>(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ClassMemberTestGenericPrivate<Future<S0>>.short(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-  //# -->
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t02.dart
deleted file mode 100644
index ab401ec..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t02.dart
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 is not a subtype of a type T1, then
- * instance of T0 cannot be be assigned to the superclass member of type T1
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * class_member_fail_x02.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-class ClassMemberSuper1_t02 {
-  Future<S0> m;
-
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
-  }
-
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
-  }
-
-  ClassMemberSuper1_t02.short(this.m);
-
-  void set superSetter(Future<S0> val) {}
-}
-
-class ClassMember1_t02 extends ClassMemberSuper1_t02 {
-
-  ClassMember1_t02() : super(forgetType(t0Instance)) {}
-
-  ClassMember1_t02.named() : super.named(forgetType(t0Instance)) {}
-
-  ClassMember1_t02.short() : super.short(forgetType(t0Instance));
-
-  ClassMember1_t02.valid() : super(null);
-
-  test1() {
-    m = forgetType(t0Instance);
-  }
-
-  test2() {
-    superSetter = forgetType(t0Instance);
-  }
-}
-
-class ClassMemberSuper2_t02<X> {
-  X m;
-
-  ClassMemberSuper2_t02(X value) {
-    m = value;
-  }
-
-  ClassMemberSuper2_t02.named(X value) {
-    m = value;
-  }
-
-  ClassMemberSuper2_t02.short(this.m);
-
-  void set superSetter(X val) {}
-}
-
-class ClassMember2_t02<X> extends ClassMemberSuper2_t02<X> {
-
-  ClassMember2_t02() : super(forgetType(t0Instance)) {}
-
-  ClassMember2_t02.named() : super.named(forgetType(t0Instance)) {}
-
-  ClassMember2_t02.short() : super.short(forgetType(t0Instance));
-
-  ClassMember2_t02.valid() : super(null);
-
-  test1() {
-    m = forgetType(t0Instance);
-  }
-
-  test2() {
-    superSetter = forgetType(t0Instance);
-  }
-}
-
-main() {
-  Expect.throws(() {new ClassMember1_t02();}, (e) => e is TypeError);
-  Expect.throws(() {new ClassMember1_t02.short();}, (e) => e is TypeError);
-  Expect.throws(() {new ClassMember1_t02.named();}, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember1_t02.valid().m = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember1_t02.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember1_t02.valid().test1();
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember1_t02.valid().test2();
-  }, (e) => e is TypeError);
-
-  // Test type parameters
-
-  //# <-- NotGenericFunctionType
-  Expect.throws(() {new ClassMember2_t02<Future<S0>>();}, (e) => e is TypeError);
-  Expect.throws(() {new ClassMember2_t02<Future<S0>>.short();}, (e) => e is TypeError);
-  Expect.throws(() {new ClassMember2_t02<Future<S0>>.named();}, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember2_t02<Future<S0>>.valid().m = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember2_t02<Future<S0>>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember2_t02<Future<S0>>.valid().test1();
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember2_t02<Future<S0>>.valid().test2();
-  }, (e) => e is TypeError);
-  //# -->
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t03.dart
deleted file mode 100644
index bf078a1..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A01_t03.dart
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 is not a subtype of a type T1, then
- * instance of T0 cannot be be assigned to the mixin member of type T1
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * class_member_fail_x03.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-class ClassMemberSuper1_t03 {
-  Future<S0> m;
-
-  void set superSetter(Future<S0> val) {}
-}
-
-class ClassMember1_t03 extends Object with ClassMemberSuper1_t03 {
-
-  test1() {
-    m = forgetType(t0Instance);
-  }
-
-  test2() {
-    superSetter = forgetType(t0Instance);
-  }
-}
-
-class ClassMemberSuper2_t03<X> {
-  X m;
-
-  void set superSetter(X val) {}
-}
-
-class ClassMember2_t03<X> extends ClassMemberSuper2_t03<X> {
-
-  test1() {
-    m = forgetType(t0Instance);
-  }
-
-  test2() {
-    superSetter = forgetType(t0Instance);
-  }
-}
-
-main() {
-  Expect.throws(() {
-    new ClassMember1_t03().m = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember1_t03().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember1_t03().test1();
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember1_t03().test2();
-  }, (e) => e is TypeError);
-
-  // Test type parameters
-
-  //# <-- NotGenericFunctionType
-  Expect.throws(() {
-    new ClassMember2_t03<Future<S0>>().m = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember2_t03<Future<S0>>().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember2_t03<Future<S0>>().test1();
-  }, (e) => e is TypeError);
-  Expect.throws(() {
-    new ClassMember2_t03<Future<S0>>().test2();
-  }, (e) => e is TypeError);
-  //# -->
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t01.dart
index 133bfaa..8a72328 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t01.dart
@@ -29,20 +29,24 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberTestStatic {
-  static T1 s;
+  static T1 s = t1Default;
 
   ClassMemberTestStatic(dynamic val) {
     s = val;
@@ -60,7 +64,7 @@
 }
 
 class ClassMemberTestPublic {
-  T1 m;
+  T1 m = t1Default;
 
   ClassMemberTestPublic(dynamic val) {
     m = val;
@@ -82,7 +86,7 @@
 }
 
 class ClassMemberTestPrivate {
-  T1 _m;
+  T1 _m = t1Default;
 
   ClassMemberTestPrivate(dynamic val) {
     _m = val;
@@ -109,14 +113,11 @@
 class ClassMemberTestGenericPublic<X> {
   X m;
 
-  ClassMemberTestGenericPublic(dynamic val) {
-    m = val;
+  ClassMemberTestGenericPublic(dynamic val): m = val {
   }
 
   ClassMemberTestGenericPublic.short(this.m);
 
-  ClassMemberTestGenericPublic.validConstructor() {}
-
   test(dynamic val) {
     m = val;
   }
@@ -131,14 +132,11 @@
 class ClassMemberTestGenericPrivate<X> {
   X _m;
 
-  ClassMemberTestGenericPrivate(dynamic val) {
-    _m = val;
+  ClassMemberTestGenericPrivate(dynamic val): _m = val {
   }
 
   ClassMemberTestGenericPrivate.short(this._m);
 
-  ClassMemberTestGenericPrivate.validConstructor() {}
-
   test(dynamic val) {
     _m = val;
   }
@@ -174,30 +172,30 @@
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestPublic(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().setter = t0Instance;
+    new ClassMemberTestPublic(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().setter = t0Instance;
+    new ClassMemberTestPrivate(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().test(t0Instance);
+    new ClassMemberTestPublic(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().test(t0Instance);
+    new ClassMemberTestPrivate(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().getter;
+    new ClassMemberTestPublic(t1Instance).getter;
   }, (e) => e is TypeError);
 
 
@@ -223,30 +221,30 @@
   //# <-- NotGenericFunctionType
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().getter;
+    new ClassMemberTestGenericPublic<T1>(t1Instance).getter;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPublic<T1>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<T1>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPrivate<T1>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPublic<T1>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<T1>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPrivate<T1>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestGenericPublic<T1>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test constructors
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t02.dart
index 6df625b..99f8599 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t02.dart
@@ -29,20 +29,24 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberSuper1_t02 {
-  T1 m;
+  T1 m = t1Default;
 
   ClassMemberSuper1_t02(dynamic value) {
     m = value;
@@ -79,12 +83,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(X value) {
-    m = value;
+  ClassMemberSuper2_t02(X value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(X value) {
-    m = value;
+  ClassMemberSuper2_t02.named(X value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
@@ -100,8 +102,6 @@
 
   ClassMember2_t02.short() : super.short(forgetType(t0Instance));
 
-  ClassMember2_t02.valid() : super(null);
-
   test1() {
     m = forgetType(t0Instance);
   }
@@ -116,16 +116,16 @@
   Expect.throws(() {new ClassMember1_t02.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember1_t02.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().m = forgetType(t0Instance);
+    new ClassMember1_t02().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().superSetter = forgetType(t0Instance);
+    new ClassMember1_t02().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test1();
+    new ClassMember1_t02().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test2();
+    new ClassMember1_t02().test2();
   }, (e) => e is TypeError);
 
   // Test type parameters
@@ -135,16 +135,16 @@
   Expect.throws(() {new ClassMember2_t02<T1>.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember2_t02<T1>.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().m = forgetType(t0Instance);
+    new ClassMember2_t02<T1>().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().superSetter = forgetType(t0Instance);
+    new ClassMember2_t02<T1>().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().test1();
+    new ClassMember2_t02<T1>().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().test2();
+    new ClassMember2_t02<T1>().test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t03.dart
index 49e0e59..f8f2804 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A02_t03.dart
@@ -29,20 +29,24 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberSuper1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(T1 val) {}
 }
@@ -61,11 +65,15 @@
 class ClassMemberSuper2_t03<X> {
   X m;
 
+  ClassMemberSuper2_t03(X x) : m = x {}
+
   void set superSetter(X val) {}
 }
 
 class ClassMember2_t03<X> extends ClassMemberSuper2_t03<X> {
 
+  ClassMember2_t03(X x): super(x) {}
+
   test1() {
     m = forgetType(t0Instance);
   }
@@ -93,16 +101,16 @@
 
   //# <-- NotGenericFunctionType
   Expect.throws(() {
-    new ClassMember2_t03<T1>().m = forgetType(t0Instance);
+    new ClassMember2_t03<T1>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<T1>().superSetter = forgetType(t0Instance);
+    new ClassMember2_t03<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<T1>().test1();
+    new ClassMember2_t03<T1>(t1Instance).test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<T1>().test2();
+    new ClassMember2_t03<T1>(t1Instance).test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t01.dart
index c5fbe65..6ea99fa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t01.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,11 +47,13 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
 class ClassMemberTestStatic {
-  static Future<C1> s;
+  static Future<C1> s = t1Default;
 
   ClassMemberTestStatic(dynamic val) {
     s = val;
@@ -67,7 +71,7 @@
 }
 
 class ClassMemberTestPublic {
-  Future<C1> m;
+  Future<C1> m = t1Default;
 
   ClassMemberTestPublic(dynamic val) {
     m = val;
@@ -89,7 +93,7 @@
 }
 
 class ClassMemberTestPrivate {
-  Future<C1> _m;
+  Future<C1> _m = t1Default;
 
   ClassMemberTestPrivate(dynamic val) {
     _m = val;
@@ -116,14 +120,11 @@
 class ClassMemberTestGenericPublic<X> {
   X m;
 
-  ClassMemberTestGenericPublic(dynamic val) {
-    m = val;
+  ClassMemberTestGenericPublic(dynamic val): m = val {
   }
 
   ClassMemberTestGenericPublic.short(this.m);
 
-  ClassMemberTestGenericPublic.validConstructor() {}
-
   test(dynamic val) {
     m = val;
   }
@@ -138,14 +139,11 @@
 class ClassMemberTestGenericPrivate<X> {
   X _m;
 
-  ClassMemberTestGenericPrivate(dynamic val) {
-    _m = val;
+  ClassMemberTestGenericPrivate(dynamic val): _m = val {
   }
 
   ClassMemberTestGenericPrivate.short(this._m);
 
-  ClassMemberTestGenericPrivate.validConstructor() {}
-
   test(dynamic val) {
     _m = val;
   }
@@ -181,30 +179,30 @@
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestPublic(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().setter = t0Instance;
+    new ClassMemberTestPublic(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().setter = t0Instance;
+    new ClassMemberTestPrivate(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().test(t0Instance);
+    new ClassMemberTestPublic(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().test(t0Instance);
+    new ClassMemberTestPrivate(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().getter;
+    new ClassMemberTestPublic(t1Instance).getter;
   }, (e) => e is TypeError);
 
 
@@ -230,30 +228,30 @@
   //# <-- NotGenericFunctionType
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<C1>>.validConstructor().getter;
+    new ClassMemberTestGenericPublic<Future<C1>>(t1Instance).getter;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<C1>>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPublic<Future<C1>>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<Future<C1>>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPrivate<Future<C1>>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<C1>>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPublic<Future<C1>>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<Future<C1>>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPrivate<Future<C1>>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<Future<C1>>.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestGenericPublic<Future<C1>>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test constructors
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t02.dart
index 84d4777..9ca0c0c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t02.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,11 +47,13 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
 class ClassMemberSuper1_t02 {
-  Future<C1> m;
+  Future<C1> m = t1Default;
 
   ClassMemberSuper1_t02(dynamic value) {
     m = value;
@@ -86,12 +90,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(X value) {
-    m = value;
+  ClassMemberSuper2_t02(X value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(X value) {
-    m = value;
+  ClassMemberSuper2_t02.named(X value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
@@ -107,8 +109,6 @@
 
   ClassMember2_t02.short() : super.short(forgetType(t0Instance));
 
-  ClassMember2_t02.valid() : super(null);
-
   test1() {
     m = forgetType(t0Instance);
   }
@@ -123,16 +123,16 @@
   Expect.throws(() {new ClassMember1_t02.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember1_t02.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().m = forgetType(t0Instance);
+    new ClassMember1_t02().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().superSetter = forgetType(t0Instance);
+    new ClassMember1_t02().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test1();
+    new ClassMember1_t02().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test2();
+    new ClassMember1_t02().test2();
   }, (e) => e is TypeError);
 
   // Test type parameters
@@ -142,16 +142,16 @@
   Expect.throws(() {new ClassMember2_t02<Future<C1>>.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember2_t02<Future<C1>>.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<Future<C1>>.valid().m = forgetType(t0Instance);
+    new ClassMember2_t02<Future<C1>>().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<Future<C1>>.valid().superSetter = forgetType(t0Instance);
+    new ClassMember2_t02<Future<C1>>().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<Future<C1>>.valid().test1();
+    new ClassMember2_t02<Future<C1>>().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<Future<C1>>.valid().test2();
+    new ClassMember2_t02<Future<C1>>().test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t03.dart
index 5ddd0b5..cec858b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_class_member_fail_A03_t03.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,11 +47,13 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
 class ClassMemberSuper1_t03 {
-  Future<C1> m;
+  Future<C1> m = t1Default;
 
   void set superSetter(Future<C1> val) {}
 }
@@ -68,11 +72,15 @@
 class ClassMemberSuper2_t03<X> {
   X m;
 
+  ClassMemberSuper2_t03(X x) : m = x {}
+
   void set superSetter(X val) {}
 }
 
 class ClassMember2_t03<X> extends ClassMemberSuper2_t03<X> {
 
+  ClassMember2_t03(X x): super(x) {}
+
   test1() {
     m = forgetType(t0Instance);
   }
@@ -100,16 +108,16 @@
 
   //# <-- NotGenericFunctionType
   Expect.throws(() {
-    new ClassMember2_t03<Future<C1>>().m = forgetType(t0Instance);
+    new ClassMember2_t03<Future<C1>>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<Future<C1>>().superSetter = forgetType(t0Instance);
+    new ClassMember2_t03<Future<C1>>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<Future<C1>>().test1();
+    new ClassMember2_t03<Future<C1>>(t1Instance).test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<Future<C1>>().test2();
+    new ClassMember2_t03<Future<C1>>(t1Instance).test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A01_t01.dart
deleted file mode 100644
index 4b7989a..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A01_t01.dart
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 is not a subtype of a type T1, then
- * instance of T0 cannot be be assigned to the to global variable of type T1
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * global_variable_fail_x01.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-class GlobalVariableTest {
-  GlobalVariableTest() {
-    t1Instance = forgetType(t0Instance);
-  }
-
-  GlobalVariableTest.valid() {}
-
-  foo() {
-    t1Instance = forgetType(t0Instance);
-  }
-
-  static test() {
-    t1Instance = forgetType(t0Instance);
-  }
-}
-
-main() {
-  bar () {
-    t1Instance = forgetType(t0Instance);
-  }
-
-  Expect.throws(() {
-    t1Instance = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    bar();
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new GlobalVariableTest();
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new GlobalVariableTest.valid().foo();
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    GlobalVariableTest.test();
-  }, (e) => e is TypeError);
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A02_t01.dart
index 274e12c..fe3ce81 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A02_t01.dart
@@ -29,15 +29,19 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A03_t01.dart
index c38f324..4846fdb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_global_variable_fail_A03_t01.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,6 +47,8 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A01_t01.dart
deleted file mode 100644
index 7d755ee..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A01_t01.dart
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 is not a subtype of a type T1, then
- * instance of T0 cannot be be assigned to the to local variable of type T1
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * local_variable_fail_x01.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-class LocalVariableTest {
-
-  LocalVariableTest() {
-    Future<S0> t1 = null;
-    t1 = forgetType(t0Instance);
-  }
-
-  LocalVariableTest.valid() {}
-
-  static staticTest() {
-    Future<S0> t1 = null;
-    t1 = forgetType(t0Instance);
-  }
-
-  test() {
-    Future<S0> t1 = null;
-    t1 = forgetType(t0Instance);
-  }
-}
-
-main() {
-  bar () {
-    Future<S0> t1 = null;
-    t1 = forgetType(t0Instance);
-  }
-
-  Expect.throws(() {
-    Future<S0> t1 = null;
-    t1 = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    bar();
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new LocalVariableTest();
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new LocalVariableTest.valid().test();
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    LocalVariableTest.staticTest();
-  }, (e) => e is TypeError);
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A02_t01.dart
index f85e77a..eb49bba 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A02_t01.dart
@@ -29,47 +29,46 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class LocalVariableTest {
 
   LocalVariableTest() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 
   LocalVariableTest.valid() {}
 
   static staticTest() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 
   test() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 }
 
 main() {
   bar () {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 
   Expect.throws(() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A03_t01.dart
index 668dc22..0383390 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_local_variable_fail_A03_t01.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,38 +47,35 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
 class LocalVariableTest {
 
   LocalVariableTest() {
-    Future<C1> t1 = null;
-    t1 = forgetType(t0Instance);
+    Future<C1> t1 = forgetType(t0Instance);
   }
 
   LocalVariableTest.valid() {}
 
   static staticTest() {
-    Future<C1> t1 = null;
-    t1 = forgetType(t0Instance);
+    Future<C1> t1 = forgetType(t0Instance);
   }
 
   test() {
-    Future<C1> t1 = null;
-    t1 = forgetType(t0Instance);
+    Future<C1> t1 = forgetType(t0Instance);
   }
 }
 
 main() {
   bar () {
-    Future<C1> t1 = null;
-    t1 = forgetType(t0Instance);
+    Future<C1> t1 = forgetType(t0Instance);
   }
 
   Expect.throws(() {
-    Future<C1> t1 = null;
-    t1 = forgetType(t0Instance);
+    Future<C1> t1 = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A01_t01.dart
deleted file mode 100644
index f78f19b..0000000
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A01_t01.dart
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2018, 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.
- */
-/**
- * @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1)
- * when:
- * Left FutureOr: T0 is FutureOr<S0>
- *   and Future<S0> <: T1
- *   and S0 <: T1
- * @description Check that if a type T0 is FutureOr<S0> and Future<S0> is a
- * subtype of T1 but S0 is not a subtype of a type T1, then a type T0 is not a
- * subtype of a type T1.
- * @author ngl@unipro.ru
- */
-/**
- * @description Check that if type T0 not a subtype of a type T1, then instance
- * of T0 cannot be be used as a return value of type T1
- * @author sgrekhov@unipro.ru
- */
-/*
- * This test is generated from left_FutureOr_fail_A01.dart and 
- * return_value_fail_x01.dart.
- * Don't modify it. If you want to change this file, change one of the files 
- * above and then run generator.dart to regenerate the tests.
- */
-
-
-import '../../utils/common.dart';
-import '../../../../Utils/expect.dart';
-
-import "dart:async";
-
-class S0 {}
-
-FutureOr<S0> t0Instance = new S0();
-Future<S0> t1Instance = new Future<S0>.value(new S0()); // S0 is not a subtype of T1 (T1 is Future<S0>)
-
-
-
-
-Future<S0> returnValueFunc() => forgetType(t0Instance);
-
-class ReturnValueTest {
-  static Future<S0> staticTestMethod() => forgetType(t0Instance);
-
-  Future<S0> testMethod() => forgetType(t0Instance);
-
-  Future<S0> get testGetter => forgetType(t0Instance);
-}
-
-class ReturnValueGen<X> {
-  X testMethod() => forgetType(t0Instance);
-  X get testGetter => forgetType(t0Instance);
-}
-
-main() {
-  Future<S0> returnValueLocalFunc() => forgetType(t0Instance);
-
-  Expect.throws(() {returnValueFunc();}, (e) => e is TypeError);
-  Expect.throws(() {returnValueLocalFunc();}, (e) => e is TypeError);
-  Expect.throws(() {ReturnValueTest.staticTestMethod();}, (e) => e is TypeError);
-
-  Expect.throws(() {new ReturnValueTest().testMethod();}, (e) => e is TypeError);
-  Expect.throws(() {new ReturnValueTest().testGetter;}, (e) => e is TypeError);
-
-  // Test type parameters
-
-  //# <-- NotGenericFunctionType
-  Expect.throws(() {new ReturnValueGen<Future<S0>>().testMethod();}, (e) => e is TypeError);
-  Expect.throws(() {new ReturnValueGen<Future<S0>>().testGetter;}, (e) => e is TypeError);
-  //# -->
-}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A02_t01.dart
index 053b8b6..9289d80 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A02_t01.dart
@@ -29,15 +29,19 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class T1 {}
+class T1 {
+  const T1();
+}
 class S0 extends T1 {}
 
 FutureOr<S0> t0Instance = Future<S0>.value(new S0()); // Future<S0> is not a subtype of T1
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A03_t01.dart
index f6d23f1..6ed6215 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_fail_return_value_fail_A03_t01.dart
@@ -29,10 +29,12 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C1 {}
+class C1 {
+  const C1();
+}
 class S0 implements Future<C1> {
   asStream() => null;
   catchError(Function onError, {bool test(Object error)}) => null;
@@ -45,6 +47,8 @@
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 Future<C1> t1Instance = new Future.value(new C1());
 
+const t1Default = const C1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A01_t01.dart
index e3daa06..3217a67 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A01_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A02_t01.dart
index 702a89e..6e4cef9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A02_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A03_t01.dart
index 80ee7e0..8bde8c5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A03_t01.dart
@@ -28,17 +28,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A04_t01.dart
index 1235d7c..8212b51 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_global_variable_A04_t01.dart
@@ -29,17 +29,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A01_t01.dart
index b8eab29..39b1836 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A01_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A02_t01.dart
index b0f4f02..ea996eb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A02_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A03_t01.dart
index a05225a..017c1f4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A03_t01.dart
@@ -28,17 +28,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A04_t01.dart
index 9a987b7..69545e8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_local_variable_A04_t01.dart
@@ -29,17 +29,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A01_t01.dart
index aa21af5..1cb4ef2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A01_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new S0();
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A02_t01.dart
index dc012e3..c137ee4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A02_t01.dart
@@ -28,15 +28,19 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
-class C {}
+class C {
+  const C();
+}
 class S0 extends C {}
 
 FutureOr<S0> t0Instance = new Future<S0>.value(new S0());
 FutureOr<C> t1Instance = new Future<C>.value(new C());
 
+const t1Default = const C();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A03_t01.dart
index ab3c4ad..bb1a0d9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A03_t01.dart
@@ -28,17 +28,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new S0<B>();
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A04_t01.dart
index a79e6ae..6a31d2b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_FutureOr_return_value_A04_t01.dart
@@ -29,17 +29,21 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 import "dart:async";
 
 class A {}
 class B extends A {}
-class C<X> {}
+class C<X> {
+  const C();
+}
 class S0<X> extends C<X> {}
 
 FutureOr<S0<B>> t0Instance = new Future<S0<B>>.value(new S0<B>());
 FutureOr<C<A>> t1Instance = new Future<C<A>>.value(new C<A>());
 
+const t1Default = const C<A>();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t01.dart
index 16ec846..84fd5f7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t01.dart
@@ -79,14 +79,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t02.dart
index 0e1b615..1f15f9d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t02.dart
@@ -36,12 +36,10 @@
 class ClassMemberSuper1_t02 {
   T1 m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -66,12 +64,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t03.dart
index 48037eb..289f9ee 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A01_t03.dart
@@ -34,7 +34,7 @@
 
 
 class ClassMemberMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -48,6 +48,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -67,7 +70,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<T1> c2 = new ClassMember2_t03<T1>();
+  ClassMember2_t03<T1> c2 = new ClassMember2_t03<T1>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t01.dart
index 295c6fc..b5ed296 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t01.dart
@@ -80,14 +80,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t02.dart
index 9a010d4..db73fa3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t02.dart
@@ -37,12 +37,10 @@
 class ClassMemberSuper1_t02 {
   dynamic m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -67,12 +65,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t03.dart
index 6be23d3..1ee84c4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_class_member_A02_t03.dart
@@ -35,7 +35,7 @@
 
 
 class ClassMemberMixin1_t03 {
-  dynamic m;
+  dynamic m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -49,6 +49,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -68,7 +71,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<dynamic> c2 = new ClassMember2_t03<dynamic>();
+  ClassMember2_t03<dynamic> c2 = new ClassMember2_t03<dynamic>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t01.dart
index a10cca3..0c36e9e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 namedArgumentsFunc1(Object? t1, {Object? t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t02.dart
index df6a792..0b1ddfa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t02.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t03.dart
index c261941..4dcbb3b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A01_t03.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t01.dart
index 27e526b..5ccead0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 namedArgumentsFunc1(Object? t1, {Object? t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t02.dart
index 0c71b22..3b10abb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t02.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t03.dart
index 660ffb5..b5f411b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_arguments_binding_A02_t03.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t01.dart
index e7124f1..30052b1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
@@ -81,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t02.dart
index a17abdc..299aec2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t02.dart
@@ -27,23 +27,25 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberSuper1_t02 {
   Object? m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -68,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t03.dart
index 9de8731..079ca8e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A01_t03.dart
@@ -27,16 +27,20 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  Object? m;
+  Object? m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -50,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -69,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Object?> c2 = new ClassMember2_t03<Object?>();
+  ClassMember2_t03<Object?> c2 = new ClassMember2_t03<Object?>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t01.dart
index 8708869..91e1953 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
@@ -81,14 +85,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t02.dart
index 9b9f4c0..011456b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t02.dart
@@ -27,23 +27,25 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberSuper1_t02 {
   Object? m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -68,12 +70,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t03.dart
index 866a533..6f5fd24 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_class_member_A02_t03.dart
@@ -27,16 +27,20 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  Object? m;
+  Object? m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -50,6 +54,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -69,7 +76,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<Object?> c2 = new ClassMember2_t03<Object?>();
+  ClassMember2_t03<Object?> c2 = new ClassMember2_t03<Object?>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A01_t01.dart
index daa5b45..abf97f0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A01_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A02_t01.dart
index 7e7654d..d393ecd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_global_variable_A02_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A01_t01.dart
index e82c2e7..517b507 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A01_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A02_t01.dart
index 92cdeb9..6daed95 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_local_variable_A02_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A01_t01.dart
index 5ff8736..dd9c80f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A01_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 dynamic t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A02_t01.dart
index 2fb7024..1ae7eae 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_top_return_value_A02_t01.dart
@@ -27,11 +27,15 @@
 import '../../utils/common.dart';
 // SharedOptions=--enable-experiment=non-nullable
 
-class T1 {}
+class T1 {
+  const T1();
+}
 
 void t0Instance = "Show must go on";
 T1? t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t01.dart
index 4d8f117..f49babd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t01.dart
@@ -26,14 +26,18 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t02.dart
index ad190e3..a1f70ba 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t02.dart
@@ -26,14 +26,18 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t03.dart
index dfdacb5..7fa62f5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_arguments_binding_A01_t03.dart
@@ -26,14 +26,18 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t01.dart
index accde47..5efb197 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t01.dart
@@ -26,14 +26,18 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
@@ -83,14 +87,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t02.dart
index cc68a5a..3727548 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t02.dart
@@ -26,26 +26,28 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberSuper1_t02 {
   T1 m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -70,12 +72,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t03.dart
index f274167..63a2379 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_class_member_A01_t03.dart
@@ -26,19 +26,23 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -52,6 +56,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -71,7 +78,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<T1> c2 = new ClassMember2_t03<T1>();
+  ClassMember2_t03<T1> c2 = new ClassMember2_t03<T1>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t01.dart
index 7d0e95a..a6a4baf 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t01.dart
@@ -27,14 +27,18 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t02.dart
index 0d9c070..19099c9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t02.dart
@@ -27,14 +27,18 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t03.dart
index 4828d74..c3b60b7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_arguments_binding_fail_A01_t03.dart
@@ -27,21 +27,25 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(T1 val) {}
-  void superTestPositioned(T1 val, [T1 val2]) {}
-  void superTestNamed(T1 val, {T1 val2}) {}
+  void superTestPositioned(T1 val, [T1 val2 = t1Default]) {}
+  void superTestNamed(T1 val, {T1 val2 = t1Default}) {}
   T1 get superGetter => forgetType(t0Instance);
   void set superSetter(T1 val) {}
 }
@@ -137,8 +141,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t01.dart
index e770df8..68ad159 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t01.dart
@@ -27,19 +27,23 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberTestStatic {
-  static T1 s;
+  static T1 s = t1Default;
 
   ClassMemberTestStatic(dynamic val) {
     s = val;
@@ -57,7 +61,7 @@
 }
 
 class ClassMemberTestPublic {
-  T1 m;
+  T1 m = t1Default;
 
   ClassMemberTestPublic(dynamic val) {
     m = val;
@@ -79,7 +83,7 @@
 }
 
 class ClassMemberTestPrivate {
-  T1 _m;
+  T1 _m = t1Default;
 
   ClassMemberTestPrivate(dynamic val) {
     _m = val;
@@ -106,14 +110,11 @@
 class ClassMemberTestGenericPublic<X> {
   X m;
 
-  ClassMemberTestGenericPublic(dynamic val) {
-    m = val;
+  ClassMemberTestGenericPublic(dynamic val): m = val {
   }
 
   ClassMemberTestGenericPublic.short(this.m);
 
-  ClassMemberTestGenericPublic.validConstructor() {}
-
   test(dynamic val) {
     m = val;
   }
@@ -128,14 +129,11 @@
 class ClassMemberTestGenericPrivate<X> {
   X _m;
 
-  ClassMemberTestGenericPrivate(dynamic val) {
-    _m = val;
+  ClassMemberTestGenericPrivate(dynamic val): _m = val {
   }
 
   ClassMemberTestGenericPrivate.short(this._m);
 
-  ClassMemberTestGenericPrivate.validConstructor() {}
-
   test(dynamic val) {
     _m = val;
   }
@@ -171,30 +169,30 @@
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestPublic(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().setter = t0Instance;
+    new ClassMemberTestPublic(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().setter = t0Instance;
+    new ClassMemberTestPrivate(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().test(t0Instance);
+    new ClassMemberTestPublic(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestPrivate.validConstructor().test(t0Instance);
+    new ClassMemberTestPrivate(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestPublic.validConstructor().getter;
+    new ClassMemberTestPublic(t1Instance).getter;
   }, (e) => e is TypeError);
 
 
@@ -220,30 +218,30 @@
   //# <-- NotGenericFunctionType
   // Test getters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().getter;
+    new ClassMemberTestGenericPublic<T1>(t1Instance).getter;
   }, (e) => e is TypeError);
 
   // Test methods
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPublic<T1>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<T1>.validConstructor().test(t0Instance);
+    new ClassMemberTestGenericPrivate<T1>(t1Instance).test(t0Instance);
   }, (e) => e is TypeError);
 
   // Test setters
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPublic<T1>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ClassMemberTestGenericPrivate<T1>.validConstructor().setter = t0Instance;
+    new ClassMemberTestGenericPrivate<T1>(t1Instance).setter = t0Instance;
   }, (e) => e is TypeError);
 
   // Test class variables
   Expect.throws(() {
-    new ClassMemberTestGenericPublic<T1>.validConstructor().m = forgetType(t0Instance);
+    new ClassMemberTestGenericPublic<T1>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   // Test constructors
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t02.dart
index 2d901f5..ff5ab72 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t02.dart
@@ -27,19 +27,23 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberSuper1_t02 {
-  T1 m;
+  T1 m = t1Default;
 
   ClassMemberSuper1_t02(dynamic value) {
     m = value;
@@ -76,12 +80,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(X value) {
-    m = value;
+  ClassMemberSuper2_t02(X value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(X value) {
-    m = value;
+  ClassMemberSuper2_t02.named(X value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
@@ -97,8 +99,6 @@
 
   ClassMember2_t02.short() : super.short(forgetType(t0Instance));
 
-  ClassMember2_t02.valid() : super(null);
-
   test1() {
     m = forgetType(t0Instance);
   }
@@ -113,16 +113,16 @@
   Expect.throws(() {new ClassMember1_t02.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember1_t02.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().m = forgetType(t0Instance);
+    new ClassMember1_t02().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().superSetter = forgetType(t0Instance);
+    new ClassMember1_t02().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test1();
+    new ClassMember1_t02().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember1_t02.valid().test2();
+    new ClassMember1_t02().test2();
   }, (e) => e is TypeError);
 
   // Test type parameters
@@ -132,16 +132,16 @@
   Expect.throws(() {new ClassMember2_t02<T1>.short();}, (e) => e is TypeError);
   Expect.throws(() {new ClassMember2_t02<T1>.named();}, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().m = forgetType(t0Instance);
+    new ClassMember2_t02<T1>().m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().superSetter = forgetType(t0Instance);
+    new ClassMember2_t02<T1>().superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().test1();
+    new ClassMember2_t02<T1>().test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t02<T1>.valid().test2();
+    new ClassMember2_t02<T1>().test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t03.dart
index 5ee6239..be517f7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_class_member_fail_A01_t03.dart
@@ -27,19 +27,23 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class ClassMemberSuper1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(T1 val) {}
 }
@@ -58,11 +62,15 @@
 class ClassMemberSuper2_t03<X> {
   X m;
 
+  ClassMemberSuper2_t03(X x) : m = x {}
+
   void set superSetter(X val) {}
 }
 
 class ClassMember2_t03<X> extends ClassMemberSuper2_t03<X> {
 
+  ClassMember2_t03(X x): super(x) {}
+
   test1() {
     m = forgetType(t0Instance);
   }
@@ -90,16 +98,16 @@
 
   //# <-- NotGenericFunctionType
   Expect.throws(() {
-    new ClassMember2_t03<T1>().m = forgetType(t0Instance);
+    new ClassMember2_t03<T1>(t1Instance).m = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<T1>().superSetter = forgetType(t0Instance);
+    new ClassMember2_t03<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<T1>().test1();
+    new ClassMember2_t03<T1>(t1Instance).test1();
   }, (e) => e is TypeError);
   Expect.throws(() {
-    new ClassMember2_t03<T1>().test2();
+    new ClassMember2_t03<T1>(t1Instance).test2();
   }, (e) => e is TypeError);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_global_variable_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_global_variable_fail_A01_t01.dart
index 73d005c..e5d7488 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_global_variable_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_global_variable_fail_A01_t01.dart
@@ -27,14 +27,18 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_local_variable_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_local_variable_fail_A01_t01.dart
index 03ad869..f551fca 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_local_variable_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_local_variable_fail_A01_t01.dart
@@ -27,46 +27,45 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
 class LocalVariableTest {
 
   LocalVariableTest() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 
   LocalVariableTest.valid() {}
 
   static staticTest() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 
   test() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 }
 
 main() {
   bar () {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }
 
   Expect.throws(() {
-    T1 t1 = null;
-    t1 = forgetType(t0Instance);
+    T1 t1 = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_return_value_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_return_value_fail_A01_t01.dart
index f521809..9674ad7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_return_value_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_fail_return_value_fail_A01_t01.dart
@@ -27,14 +27,18 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_global_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_global_variable_A01_t01.dart
index 8d0467a..7f92dc6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_global_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_global_variable_A01_t01.dart
@@ -26,14 +26,18 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_local_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_local_variable_A01_t01.dart
index ca06b04..0f447be 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_local_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_local_variable_A01_t01.dart
@@ -26,14 +26,18 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_return_value_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_return_value_A01_t01.dart
index 6405e28..0ad4994 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_return_value_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_type_variable_bound_return_value_A01_t01.dart
@@ -26,14 +26,18 @@
 
 
 import '../../utils/common.dart';
-
-class T1 {}
+// SharedOptions=--enable-experiment=non-nullable
+class T1 {
+  const T1();
+}
 class B0 extends T1 {}
 class X0 extends B0 {}
 
 X0 t0Instance = new X0();
 T1 t1Instance = new T1();
 
+const t1Default = const T1();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t01.dart
index fd110d4..3265865 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t01.dart
@@ -34,6 +34,7 @@
 
 
 import '../../utils/common.dart';
+// SharedOptions=--enable-experiment=non-nullable
 
 class U0 extends U1 {}
 class U1 {}
@@ -47,15 +48,18 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3});
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3});
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
 positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t02.dart
index 1b8354d..ab51725 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t02.dart
@@ -34,6 +34,7 @@
 
 
 import '../../utils/common.dart';
+// SharedOptions=--enable-experiment=non-nullable
 
 class U0 extends U1 {}
 class U1 {}
@@ -47,15 +48,18 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3});
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3});
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t03.dart
index a88b881..0cd8b8b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A01_t03.dart
@@ -34,6 +34,7 @@
 
 
 import '../../utils/common.dart';
+// SharedOptions=--enable-experiment=non-nullable
 
 class U0 extends U1 {}
 class U1 {}
@@ -47,15 +48,18 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3});
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3});
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingMixin1_t03 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t01.dart
index b277787..009048b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
 positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t02.dart
index 48f8ebb..0277be6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t03.dart
index 0dde944..bb01834 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A02_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingMixin1_t03 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t01.dart
index 9cbe13a..ede6b16 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-    {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4});
+    {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3, V4<dynamic, void, Object>? x4});
 typedef T1 = U1<dynamic, void, Object> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-        {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4}) =>
-    null;
+        {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3,
+        V4<dynamic, void, Object>? x4}) => new U0<C, List<String>, int>();
 U1<dynamic, void, Object> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<dynamic, void, Object>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
 positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t02.dart
index 1d43b9c..bd45ac8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-    {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4});
+    {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3, V4<dynamic, void, Object>? x4});
 typedef T1 = U1<dynamic, void, Object> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-        {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4}) =>
-    null;
+        {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3,
+        V4<dynamic, void, Object>? x4}) => new U0<C, List<String>, int>();
 U1<dynamic, void, Object> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<dynamic, void, Object>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t03.dart
index 57f2843..093da2d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A03_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-    {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4});
+    {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3, V4<dynamic, void, Object>? x4});
 typedef T1 = U1<dynamic, void, Object> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-        {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4}) =>
-    null;
+        {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3,
+        V4<dynamic, void, Object>? x4}) => new U0<C, List<String>, int>();
 U1<dynamic, void, Object> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<dynamic, void, Object>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingMixin1_t03 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t01.dart
index 1203f97..93d378a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<Null, Null, Null> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-    {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3});
+    {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3});
 
 U0<Null, Null, Null> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num> x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<Null, Null, Null>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-        {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3}) =>
-    null;
+        {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
 positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t02.dart
index 42143ca..5ecaa37 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<Null, Null, Null> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-    {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3});
+    {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3});
 
 U0<Null, Null, Null> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num> x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<Null, Null, Null>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-        {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3}) =>
-    null;
+        {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t03.dart
index 57b2b45..4b37116 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A04_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<Null, Null, Null> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-    {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3});
+    {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3});
 
 U0<Null, Null, Null> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num> x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<Null, Null, Null>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-        {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3}) =>
-    null;
+        {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingMixin1_t03 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t01.dart
index f161a74..873b3ab 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -57,23 +57,26 @@
 
 typedef T0 = U<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U<A, List, num> Function<X extends B0, Y extends B1>(
     V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-    {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3});
+    {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3});
 
 U<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U<C, List<String>, int>();
 U<A, List, num> t1Func<X extends B0, Y extends B1>(
         V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-        {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3}) =>
-    null;
+        {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3}) =>
+    new U<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
 positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t02.dart
index 9c65d66..ab38981 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -57,23 +57,26 @@
 
 typedef T0 = U<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U<A, List, num> Function<X extends B0, Y extends B1>(
     V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-    {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3});
+    {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3});
 
 U<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U<C, List<String>, int>();
 U<A, List, num> t1Func<X extends B0, Y extends B1>(
         V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-        {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3}) =>
-    null;
+        {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3}) =>
+    new U<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t03.dart
index d44049a..c7ba474 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_arguments_binding_A05_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -57,23 +57,26 @@
 
 typedef T0 = U<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U<A, List, num> Function<X extends B0, Y extends B1>(
     V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-    {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3});
+    {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3});
 
 U<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U<C, List<String>, int>();
 U<A, List, num> t1Func<X extends B0, Y extends B1>(
         V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-        {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3}) =>
-    null;
+        {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3}) =>
+    new U<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingMixin1_t03 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t01.dart
index ee34f33..abc5637 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t01.dart
@@ -34,6 +34,7 @@
 
 
 import '../../utils/common.dart';
+// SharedOptions=--enable-experiment=non-nullable
 
 class U0 extends U1 {}
 class U1 {}
@@ -47,15 +48,18 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3});
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3});
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMember1_t01 {
@@ -104,14 +108,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t02.dart
index e473f74..d7aace0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t02.dart
@@ -34,6 +34,7 @@
 
 
 import '../../utils/common.dart';
+// SharedOptions=--enable-experiment=non-nullable
 
 class U0 extends U1 {}
 class U1 {}
@@ -47,26 +48,27 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3});
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3});
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberSuper1_t02 {
   T1 m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -91,12 +93,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t03.dart
index 9e5e045..4dc95a7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A01_t03.dart
@@ -34,6 +34,7 @@
 
 
 import '../../utils/common.dart';
+// SharedOptions=--enable-experiment=non-nullable
 
 class U0 extends U1 {}
 class U1 {}
@@ -47,19 +48,22 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3});
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3});
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -73,6 +77,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
@@ -92,7 +99,7 @@
   // Test type parameters
 
   //# <-- NotGenericFunctionType
-  ClassMember2_t03<T1> c2 = new ClassMember2_t03<T1>();
+  ClassMember2_t03<T1> c2 = new ClassMember2_t03<T1>(t1Instance);
   c2.m = forgetType(t0Instance);
   c2.test();
   c2.superSetter = forgetType(t0Instance);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t01.dart
index 3154663..53c5844 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMember1_t01 {
@@ -140,14 +143,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t02.dart
index 95b8df5..cfdca2b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,34 +75,35 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberSuper1_t02 {
   T1 m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -127,12 +128,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t03.dart
index dc873e4..fd8f201 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A02_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,27 +75,30 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -109,6 +112,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t01.dart
index 859bd10..56d6c1b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-    {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4});
+    {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3, V4<dynamic, void, Object>? x4});
 typedef T1 = U1<dynamic, void, Object> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-        {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4}) =>
-    null;
+        {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3,
+        V4<dynamic, void, Object>? x4}) => new U0<C, List<String>, int>();
 U1<dynamic, void, Object> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<dynamic, void, Object>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMember1_t01 {
@@ -140,14 +143,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t02.dart
index 4c09ff2..c1d5fbd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,34 +75,35 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-    {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4});
+    {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3, V4<dynamic, void, Object>? x4});
 typedef T1 = U1<dynamic, void, Object> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-        {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4}) =>
-    null;
+        {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3,
+        V4<dynamic, void, Object>? x4}) => new U0<C, List<String>, int>();
 U1<dynamic, void, Object> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<dynamic, void, Object>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberSuper1_t02 {
   T1 m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -127,12 +128,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t03.dart
index 2b8d6bf..58c5b9c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A03_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,27 +75,30 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-    {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4});
+    {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3, V4<dynamic, void, Object>? x4});
 typedef T1 = U1<dynamic, void, Object> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<dynamic, void, Object> x0, V1<dynamic, void, Object> x1,
-        {V2<dynamic, void, Object> x2, V3<dynamic, void, Object> x3, V4<dynamic, void, Object> x4}) =>
-    null;
+        {V2<dynamic, void, Object>? x2, V3<dynamic, void, Object>? x3,
+        V4<dynamic, void, Object>? x4}) => new U0<C, List<String>, int>();
 U1<dynamic, void, Object> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<dynamic, void, Object>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -109,6 +112,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t01.dart
index 820d894..55df9ba 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,23 +75,26 @@
 
 typedef T0 = U0<Null, Null, Null> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-    {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3});
+    {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3});
 
 U0<Null, Null, Null> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num> x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<Null, Null, Null>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-        {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3}) =>
-    null;
+        {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMember1_t01 {
@@ -140,14 +143,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t02.dart
index 97daaad..6f60944 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,34 +75,35 @@
 
 typedef T0 = U0<Null, Null, Null> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-    {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3});
+    {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3});
 
 U0<Null, Null, Null> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num> x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<Null, Null, Null>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-        {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3}) =>
-    null;
+        {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberSuper1_t02 {
   T1 m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -127,12 +128,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t03.dart
index 90fa1fc..d7c3b00 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A04_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -75,27 +75,30 @@
 
 typedef T0 = U0<Null, Null, Null> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-    {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3});
+    {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3});
 
 U0<Null, Null, Null> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num> x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<Null, Null, Null>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<Null, Null, Null> y0, S1<Null, Null, Null> y1,
-        {S2<Null, Null, Null> x2, S3<Null, Null, Null> x3}) =>
-    null;
+        {S2<Null, Null, Null>? x2, S3<Null, Null, Null>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -109,6 +112,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t01.dart
index 064521b..b489f54 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t01.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -57,23 +57,26 @@
 
 typedef T0 = U<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U<A, List, num> Function<X extends B0, Y extends B1>(
     V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-    {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3});
+    {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3});
 
 U<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U<C, List<String>, int>();
 U<A, List, num> t1Func<X extends B0, Y extends B1>(
         V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-        {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3}) =>
-    null;
+        {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3}) =>
+    new U<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMember1_t01 {
@@ -122,14 +125,10 @@
   X m;
   X _p;
 
-  ClassMember2_t01() {
-    m = forgetType(t0Instance);
-    _p = forgetType(t0Instance);
+  ClassMember2_t01():  m = forgetType(t0Instance), _p = forgetType(t0Instance) {
   }
 
-  ClassMember2_t01.named(X value) {
-    m = value;
-    _p = value;
+  ClassMember2_t01.named(X value): m = value, _p = value {
   }
 
   ClassMember2_t01.short(this.m, this._p);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t02.dart
index b32b870..c8f0324 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t02.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -57,34 +57,35 @@
 
 typedef T0 = U<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U<A, List, num> Function<X extends B0, Y extends B1>(
     V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-    {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3});
+    {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3});
 
 U<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U<C, List<String>, int>();
 U<A, List, num> t1Func<X extends B0, Y extends B1>(
         V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-        {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3}) =>
-    null;
+        {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3}) =>
+    new U<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberSuper1_t02 {
   T1 m;
 
-  ClassMemberSuper1_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper1_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper1_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper1_t02.short(this.m);
@@ -109,12 +110,10 @@
 class ClassMemberSuper2_t02<X> {
   X m;
 
-  ClassMemberSuper2_t02(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02(dynamic value): m = value {
   }
 
-  ClassMemberSuper2_t02.named(dynamic value) {
-    m = value;
+  ClassMemberSuper2_t02.named(dynamic value): m = value {
   }
 
   ClassMemberSuper2_t02.short(this.m);
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t03.dart
index e791893..3f83594 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_class_member_A05_t03.dart
@@ -34,7 +34,7 @@
 
 
 import '../../utils/common.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -57,27 +57,30 @@
 
 typedef T0 = U<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U<A, List, num> Function<X extends B0, Y extends B1>(
     V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-    {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3});
+    {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3});
 
 U<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U<C, List<String>, int>();
 U<A, List, num> t1Func<X extends B0, Y extends B1>(
         V0<C, List<String>, int> y0, V1<C, List<String>, int> y1,
-        {V2<C, List<String>, int> x2, V3<C, List<String>, int> x3}) =>
-    null;
+        {V2<C, List<String>, int>? x2, V3<C, List<String>, int>? x3}) =>
+    new U<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ClassMemberMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   void set superSetter(dynamic val) {}
 }
@@ -91,6 +94,9 @@
 
 class ClassMemberMixin2_t03<X> {
   X m;
+
+  ClassMemberMixin2_t03(X x): m = x {
+  }
   void set superSetter(dynamic val) {}
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t01.dart
index de83888..8391d53 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t01.dart
@@ -35,7 +35,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class V0 {}
@@ -48,15 +48,18 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 y3}); // y3 is not x3
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? y3}); // y3 is not x3
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 y3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? y3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t02.dart
index 879b957..cfaa15e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t02.dart
@@ -35,7 +35,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class V0 {}
@@ -48,15 +48,18 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 y3}); // y3 is not x3
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? y3}); // y3 is not x3
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 y3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? y3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t03.dart
index d14501a..a94da19 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A11_t03.dart
@@ -35,7 +35,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class V0 {}
@@ -48,21 +48,24 @@
 class S2 extends V2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 y3}); // y3 is not x3
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? y3}); // y3 is not x3
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 y3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? y3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(T1 val) {}
-  void superTestPositioned(T1 val, [T1 val2]) {}
-  void superTestNamed(T1 val, {T1 val2}) {}
+  void superTestPositioned(T1 val, [T1 val2 = t1Default]) {}
+  void superTestNamed(T1 val, {T1 val2 = t1Default}) {}
   T1 get superGetter => forgetType(t0Instance);
   void set superSetter(T1 val) {}
 }
@@ -158,8 +161,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t01.dart
index 34aeb08..fca398f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t01.dart
@@ -35,7 +35,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class B0 {}
@@ -57,15 +57,18 @@
 class Y0 extends B0 {}
 class Y1 extends B1 {}
 
-typedef T0 = U0 Function<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2 x2, S3 x3, S4 x4, V4 x5}); // x2...x5 is not subset of x2...x4
+typedef T0 = U0 Function<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2? x2, S3? x3, S4? x4, V4? x5}); // x2...x5 is not subset of x2...x4
 
-U0 t0Func<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2 x2, S3 x3, S4 x4, V4 x5}) => null;
+U0 t0Func<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2? x2, S3? x3, S4? x4, V4? x5}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t02.dart
index e250f70..4aef2ca 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t02.dart
@@ -35,7 +35,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class B0 {}
@@ -57,15 +57,18 @@
 class Y0 extends B0 {}
 class Y1 extends B1 {}
 
-typedef T0 = U0 Function<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2 x2, S3 x3, S4 x4, V4 x5}); // x2...x5 is not subset of x2...x4
+typedef T0 = U0 Function<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2? x2, S3? x3, S4? x4, V4? x5}); // x2...x5 is not subset of x2...x4
 
-U0 t0Func<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2 x2, S3 x3, S4 x4, V4 x5}) => null;
+U0 t0Func<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2? x2, S3? x3, S4? x4, V4? x5}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t03.dart
index b960cba..0203b59 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A12_t03.dart
@@ -35,7 +35,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class B0 {}
@@ -57,21 +57,24 @@
 class Y0 extends B0 {}
 class Y1 extends B1 {}
 
-typedef T0 = U0 Function<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2 x2, S3 x3, S4 x4, V4 x5}); // x2...x5 is not subset of x2...x4
+typedef T0 = U0 Function<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2? x2, S3? x3, S4? x4, V4? x5}); // x2...x5 is not subset of x2...x4
 
-U0 t0Func<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2 x2, S3 x3, S4 x4, V4 x5}) => null;
+U0 t0Func<X extends B0, Y extends B1>(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func<X extends B0, Y extends B1>(S0 y0, S1 y1, {S2? x2, S3? x3, S4? x4, V4? x5}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(T1 val) {}
-  void superTestPositioned(T1 val, [T1 val2]) {}
-  void superTestNamed(T1 val, {T1 val2}) {}
+  void superTestPositioned(T1 val, [T1 val2 = t1Default]) {}
+  void superTestNamed(T1 val, {T1 val2 = t1Default}) {}
   T1 get superGetter => forgetType(t0Instance);
   void set superSetter(T1 val) {}
 }
@@ -167,8 +170,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t01.dart
index 3adf8af..56be034 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t01.dart
Binary files differ
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t02.dart
index 2083974..4766e43 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t02.dart
Binary files differ
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t03.dart
index 8c48d6d..d0b0e11 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A21_t03.dart
Binary files differ
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t01.dart
index 00544d7..00151ee 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t01.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -77,23 +77,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, double> x0, V1<A, List, num> x1,     // S0<C, List<String>, int> is not subtype of V0<A, List, double>
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, double> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t02.dart
index 50aa762..e3bdf1c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t02.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -77,23 +77,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, double> x0, V1<A, List, num> x1,     // S0<C, List<String>, int> is not subtype of V0<A, List, double>
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, double> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t03.dart
index 25ed80d..0b78f65 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t03.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -77,29 +77,32 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, double> x0, V1<A, List, num> x1,     // S0<C, List<String>, int> is not subtype of V0<A, List, double>
-    {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4});
+    {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4});
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, double> x0, V1<A, List, num> x1,
-        {V2<A, List, num> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, num>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(T1 val) {}
-  void superTestPositioned(T1 val, [T1 val2]) {}
-  void superTestNamed(T1 val, {T1 val2}) {}
+  void superTestPositioned(T1 val, [T1 val2 = t1Default]) {}
+  void superTestNamed(T1 val, {T1 val2 = t1Default}) {}
   T1 get superGetter => forgetType(t0Instance);
   void set superSetter(T1 val) {}
 }
@@ -195,8 +198,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t01.dart
index a43746c..7e6bacb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t01.dart
Binary files differ
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t02.dart
index 4d06709..6baa597 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t02.dart
Binary files differ
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t03.dart
index d9d4d41..f4b752b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A23_t03.dart
Binary files differ
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t01.dart
index b29a648..b50b98f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t01.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class V0 {}
@@ -49,15 +49,18 @@
 class S2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3}); // S2 is not subtype of V1
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3}); // S2 is not subtype of V1
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t02.dart
index 40901f0..42aea63 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t02.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class V0 {}
@@ -49,15 +49,18 @@
 class S2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3}); // S2 is not subtype of V1
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3}); // S2 is not subtype of V1
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t03.dart
index 0630c18..db31628 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t03.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class U0 extends U1 {}
 class U1 {}
 class V0 {}
@@ -49,22 +49,25 @@
 class S2 {}
 class S3 extends V3 {}
 
-typedef T0 = U0 Function(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4});
-typedef T1 = U1 Function(S0 y0, S1 y1, {S2 x2, S3 x3}); // S2 is not subtype of V1
+typedef T0 = U0 Function(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4});
+typedef T1 = U1 Function(S0 y0, S1 y1, {S2? x2, S3? x3}); // S2 is not subtype of V1
 
-U0 t0Func(V0 x0, V1 x1, {V2 x2, V3 x3, V4 x4}) => null;
-U1 t1Func(S0 y0, S1 y1, {S2 x2, S3 x3}) => null;
+U0 t0Func(V0 x0, V1 x1, {V2? x2, V3? x3, V4? x4}) => new U0();
+U1 t1Func(S0 y0, S1 y1, {S2? x2, S3? x3}) => new U1();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(T1 val) {}
-  void superTestPositioned(T1 val, [T1 val2]) {}
-  void superTestNamed(T1 val, {T1 val2}) {}
+  void superTestPositioned(T1 val, [T1 val2 = t1Default]) {}
+  void superTestNamed(T1 val, {T1 val2 = t1Default}) {}
   T1 get superGetter => forgetType(t0Instance);
   void set superSetter(T1 val) {}
 }
@@ -160,8 +163,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t01.dart
index 286d306..4b23720 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t01.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -77,23 +77,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, double> x2, V3<A, List, num> x3, V4<A, List, num> x4}); // S2<C, List<String>, int> is not a subtype of V2<A, List, double>
+    {V2<A, List, double>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}); // S2<C, List<String>, int> is not a subtype of V2<A, List, double>
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, double> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, double>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t02.dart
index 7d769c6..887f21b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t02.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -77,23 +77,26 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, double> x2, V3<A, List, num> x3, V4<A, List, num> x4}); // S2<C, List<String>, int> is not a subtype of V2<A, List, double>
+    {V2<A, List, double>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}); // S2<C, List<String>, int> is not a subtype of V2<A, List, double>
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, double> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, double>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t02 {
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t03.dart
index 03849b6..a6749cc 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A32_t03.dart
@@ -36,7 +36,7 @@
 
 import '../../utils/common.dart';
 import '../../../../Utils/expect.dart';
-
+// SharedOptions=--enable-experiment=non-nullable
 class A {}
 
 class C extends A {}
@@ -77,29 +77,32 @@
 
 typedef T0 = U0<C, List<String>, int> Function<X extends B0, Y extends B1>(
     V0<A, List, num> x0, V1<A, List, num> x1,
-    {V2<A, List, double> x2, V3<A, List, num> x3, V4<A, List, num> x4}); // S2<C, List<String>, int> is not a subtype of V2<A, List, double>
+    {V2<A, List, double>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}); // S2<C, List<String>, int> is not a subtype of V2<A, List, double>
 typedef T1 = U1<A, List, num> Function<X extends B0, Y extends B1>(
     S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-    {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3});
+    {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3});
 
 U0<C, List<String>, int> t0Func<X extends B0, Y extends B1>(
         V0<A, List, num> x0, V1<A, List, num> x1,
-        {V2<A, List, double> x2, V3<A, List, num> x3, V4<A, List, num> x4}) =>
-    null;
+        {V2<A, List, double>? x2, V3<A, List, num>? x3, V4<A, List, num>? x4}) =>
+    new U0<C, List<String>, int>();
 U1<A, List, num> t1Func<X extends B0, Y extends B1>(
         S0<C, List<String>, int> y0, S1<C, List<String>, int> y1,
-        {S2<C, List<String>, int> x2, S3<C, List<String>, int> x3}) =>
-    null;
+        {S2<C, List<String>, int>? x2, S3<C, List<String>, int>? x3}) =>
+    new U1<A, List, num>();
 
 T0 t0Instance = t0Func;
 T1 t1Instance = t1Func;
 
+const t1Default = t1Func;
+
+
 
 
 class ArgumentsBindingSuper1_t03 {
   void superTest(T1 val) {}
-  void superTestPositioned(T1 val, [T1 val2]) {}
-  void superTestNamed(T1 val, {T1 val2}) {}
+  void superTestPositioned(T1 val, [T1 val2 = t1Default]) {}
+  void superTestNamed(T1 val, {T1 val2 = t1Default}) {}
   T1 get superGetter => forgetType(t0Instance);
   void set superSetter(T1 val) {}
 }
@@ -195,8 +198,7 @@
 
 class ArgumentsBindingSuper2_t03<X> {
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => forgetType(t0Instance);
   void set superSetter(X val) {}
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t01.dart
index 82f23b2..355f0d7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t01.dart