#466. Some subtyping tests adopted for 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 7f23d2d..d83715b 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
@@ -33,31 +33,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -65,18 +63,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -91,8 +84,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -116,25 +107,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 4e18f7e..970627c 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
@@ -37,21 +37,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -72,31 +71,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -106,7 +97,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -126,17 +116,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 033642d..b9ddd6f 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
@@ -35,11 +35,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -59,12 +59,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -72,13 +68,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -100,11 +91,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 c3f1086..98959e5 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 606c1b6..0087663 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 a68f64e..6ff1fcd 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 71bc5d8..09d8084 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 5a1b83f..98529b0 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 89288a4..cccb8df 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 a0d8f35..7a2d62a 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
@@ -35,31 +35,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -67,18 +65,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -93,8 +86,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -118,25 +109,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 c688a92..d1f3d90 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
@@ -39,21 +39,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -74,31 +73,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -108,7 +99,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -128,17 +118,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 27b83c2..4763e6a 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
@@ -37,11 +37,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -61,12 +61,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -74,13 +70,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -102,11 +93,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 44f43ec..9d19c21 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
@@ -35,31 +35,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -67,18 +65,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -93,8 +86,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -118,25 +109,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 12d41a9..f311c97 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
@@ -39,21 +39,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -74,31 +73,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -108,7 +99,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -128,17 +118,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 09119e6..feb8866 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
@@ -37,11 +37,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -61,12 +61,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -74,13 +70,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -102,11 +93,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 3affbab..d00bfa7 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
@@ -35,31 +35,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -67,18 +65,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -93,8 +86,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -118,25 +109,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 11057c8..97735cd 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
@@ -39,21 +39,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -74,31 +73,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -108,7 +99,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -128,17 +118,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 7832586..2e6f210 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
@@ -37,11 +37,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -61,12 +61,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -74,13 +70,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -102,11 +93,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 276ef2d..f6c0c5f 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
@@ -35,31 +35,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -67,18 +65,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -93,8 +86,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -118,25 +109,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 49dfb3f..1d82a11 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
@@ -39,21 +39,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -74,31 +73,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -108,7 +99,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -128,17 +118,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 e9ac602..11065d9 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
@@ -37,11 +37,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -61,12 +61,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -74,13 +70,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -102,11 +93,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 8dc4a6d..c2b5937 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
@@ -35,31 +35,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -67,18 +65,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -93,8 +86,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -118,25 +109,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 1435c5f..a19643b 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
@@ -39,21 +39,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -74,31 +73,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -108,7 +99,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -128,17 +118,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 787da16..f07cd5d 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
@@ -37,11 +37,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -61,12 +61,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -74,13 +70,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -102,11 +93,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 63246e4..b145d41 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
@@ -35,31 +35,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -67,18 +65,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -93,8 +86,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -118,25 +109,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 cbaaefc..f0d7eed 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
@@ -39,21 +39,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -74,31 +73,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -108,7 +99,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -128,17 +118,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 d29c9b5..a1408a6 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
@@ -37,11 +37,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -61,12 +61,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -74,13 +70,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -102,11 +93,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 9bd23a7..96d8e64 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 ae5fcd3..2591ade 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 20a6d07..8ac382f 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 4e561b9..9ec656d 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
@@ -37,31 +37,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -69,18 +67,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -95,8 +88,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -120,25 +111,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 c56f013..8fcacb8 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
@@ -41,21 +41,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -76,31 +75,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -110,7 +101,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -130,17 +120,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 6de693f..8485d1b 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
@@ -39,11 +39,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -63,12 +63,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -76,13 +72,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -104,11 +95,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 817523c..396f8af 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
@@ -37,31 +37,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -69,18 +67,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -95,8 +88,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -120,25 +111,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 a7134dd..4c766e1 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
@@ -41,21 +41,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -76,31 +75,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -110,7 +101,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -130,17 +120,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 652b363..8a9aa62 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
@@ -39,11 +39,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -63,12 +63,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -76,13 +72,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -104,11 +95,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 8cf597b..1c0b872 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 3f9da32..393eb49 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 6a6f41e..26d9651 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 e604125..2cd1548 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 45d66e6..3d88a46 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 d2277fd..a35928d 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 cd769eb..62daf76 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 037f4b6..dff2154 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 a72d03e..65ebe34 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 721c4d4..6bd9b8e 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
@@ -37,31 +37,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -69,18 +67,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -95,8 +88,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -120,25 +111,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 470ba3b..3aeb322 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
@@ -41,21 +41,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -76,31 +75,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -110,7 +101,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -130,17 +120,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 6d82850..47bfb4e 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
@@ -39,11 +39,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -63,12 +63,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -76,13 +72,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -104,11 +95,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 aefc648..ccaaf72 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 a543087..f01c86c 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 3e99051..2c9aacb 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 e28d235..9244280 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(Function t1, {Function t2 = t1Default}) {}
+positionalArgumentsFunc1(Function t1, [Function t2 = t1Default]) {}
 
-namedArgumentsFunc1(Function t1, {Function t2}) {}
-positionalArgumentsFunc1(Function t1, [Function t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Function t1) {}
 
-  ArgumentsBindingClass.named(Function t1, {Function t2}) {}
-  ArgumentsBindingClass.positional(Function t1, [Function t2]) {}
+  ArgumentsBindingClass.named(Function t1, {Function t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Function t1, [Function t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2}) {
+  factory ArgumentsBindingClass.fNamed(Function t1, {Function t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2]) {
+  factory ArgumentsBindingClass.fPositional(Function t1, [Function t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Function t1, {Function t2}) {}
-  static positionalArgumentsStaticMethod(Function t1, [Function t2]) {}
+  static namedArgumentsStaticMethod(Function t1, {Function t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Function t1, [Function t2 = t1Default]) {}
 
-  namedArgumentsMethod(Function t1, {Function t2}) {}
-  positionalArgumentsMethod(Function t1, [Function t2]) {}
+  namedArgumentsMethod(Function t1, {Function t2 = t1Default}) {}
+  positionalArgumentsMethod(Function t1, [Function t2 = t1Default]) {}
 
   set testSetter(Function val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Function>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Function>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Function> instance2 =
       new ArgumentsBindingGen<Function>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Function>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Function>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 ec04e24..e26c59b 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   Function m;
 
-  ArgumentsBindingSuper1_t02(Function value) {}
-  ArgumentsBindingSuper1_t02.named(Function value, {Function val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2]) {}
+  ArgumentsBindingSuper1_t02(Function value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Function value, {Function val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Function value, [Function val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Function> c2 =
     new ArgumentsBinding2_t02<Function>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Function>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Function>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 f360d65..6fb661a 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Function m;
+  Function m = t1Default;
 
   void superTest(Function val) {}
-  void superTestPositioned(Function val, [Function val2]) {}
-  void superTestNamed(Function val, {Function val2}) {}
+  void superTestPositioned(Function val, [Function val2 = t1Default]) {}
+  void superTestNamed(Function val, {Function val2 = t1Default}) {}
   Function get superGetter => m;
   void set superSetter(Function val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<Function> c2 = new ArgumentsBinding2_t03<Function>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 487b8de..c201045 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
@@ -43,31 +43,29 @@
 
 
 
+namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+positionalArgumentsFunc1(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-positionalArgumentsFunc1(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(C0<U0, U1, U2> t1) {}
 
-  ArgumentsBindingClass.named(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  ArgumentsBindingClass.positional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  ArgumentsBindingClass.named(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {
+  factory ArgumentsBindingClass.fNamed(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {
+  factory ArgumentsBindingClass.fPositional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  static positionalArgumentsStaticMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  static namedArgumentsStaticMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-  namedArgumentsMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  positionalArgumentsMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  namedArgumentsMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  positionalArgumentsMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
   set testSetter(C0<U0, U1, U2> val) {}
 }
@@ -75,18 +73,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -101,8 +94,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -126,25 +117,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<C0<U0, U1, U2>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<C0<U0, U1, U2>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<C0<U0, U1, U2>> instance2 =
       new ArgumentsBindingGen<C0<U0, U1, U2>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 194a3f0..90908f6 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
@@ -47,21 +47,20 @@
 class ArgumentsBindingSuper1_t02 {
   C0<U0, U1, U2> m;
 
-  ArgumentsBindingSuper1_t02(C0<U0, U1, U2> value) {}
-  ArgumentsBindingSuper1_t02.named(C0<U0, U1, U2> value, {C0<U0, U1, U2> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(C0<U0, U1, U2> value, [C0<U0, U1, U2> val2]) {}
+  ArgumentsBindingSuper1_t02(C0<U0, U1, U2> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(C0<U0, U1, U2> value, {C0<U0, U1, U2> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(C0<U0, U1, U2> value, [C0<U0, U1, U2> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(C0<U0, U1, U2> 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) {}
@@ -82,31 +81,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -116,7 +107,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -136,17 +126,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<C0<U0, U1, U2>> c2 =
     new ArgumentsBinding2_t02<C0<U0, U1, U2>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 da2cdce..e181e4d 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
@@ -45,11 +45,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  C0<U0, U1, U2> m;
+  C0<U0, U1, U2> m = t1Default;
 
   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 => m;
   void set superSetter(C0<U0, U1, U2> val) {}
 }
@@ -69,12 +69,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -82,13 +78,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -110,11 +101,7 @@
   ArgumentsBinding2_t03<C0<U0, U1, U2>> c2 = new ArgumentsBinding2_t03<C0<U0, U1, U2>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 dd2f2b6..28d4409 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
@@ -43,31 +43,29 @@
 
 
 
+namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+positionalArgumentsFunc1(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-positionalArgumentsFunc1(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(C0<U0, U1, U2> t1) {}
 
-  ArgumentsBindingClass.named(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  ArgumentsBindingClass.positional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  ArgumentsBindingClass.named(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {
+  factory ArgumentsBindingClass.fNamed(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {
+  factory ArgumentsBindingClass.fPositional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  static positionalArgumentsStaticMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  static namedArgumentsStaticMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-  namedArgumentsMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  positionalArgumentsMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  namedArgumentsMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  positionalArgumentsMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
   set testSetter(C0<U0, U1, U2> val) {}
 }
@@ -75,18 +73,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -101,8 +94,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -126,25 +117,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<C0<U0, U1, U2>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<C0<U0, U1, U2>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<C0<U0, U1, U2>> instance2 =
       new ArgumentsBindingGen<C0<U0, U1, U2>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<C0<U0, U1, U2>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 7bcff25..f0fd337 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
@@ -47,21 +47,20 @@
 class ArgumentsBindingSuper1_t02 {
   C0<U0, U1, U2> m;
 
-  ArgumentsBindingSuper1_t02(C0<U0, U1, U2> value) {}
-  ArgumentsBindingSuper1_t02.named(C0<U0, U1, U2> value, {C0<U0, U1, U2> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(C0<U0, U1, U2> value, [C0<U0, U1, U2> val2]) {}
+  ArgumentsBindingSuper1_t02(C0<U0, U1, U2> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(C0<U0, U1, U2> value, {C0<U0, U1, U2> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(C0<U0, U1, U2> value, [C0<U0, U1, U2> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(C0<U0, U1, U2> 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) {}
@@ -82,31 +81,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -116,7 +107,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -136,17 +126,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<C0<U0, U1, U2>> c2 =
     new ArgumentsBinding2_t02<C0<U0, U1, U2>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 032c2bc..9345398 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
@@ -45,11 +45,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  C0<U0, U1, U2> m;
+  C0<U0, U1, U2> m = t1Default;
 
   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 => m;
   void set superSetter(C0<U0, U1, U2> val) {}
 }
@@ -69,12 +69,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -82,13 +78,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -110,11 +101,7 @@
   ArgumentsBinding2_t03<C0<U0, U1, U2>> c2 = new ArgumentsBinding2_t03<C0<U0, U1, U2>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 1873334..d804489 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
@@ -46,30 +46,28 @@
 
 
 
-namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-positionalArgumentsFunc1(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+namedArgumentsFunc1(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+positionalArgumentsFunc1(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(C0<U0, U1, U2> t1) {}
 
-  ArgumentsBindingClass.named(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  ArgumentsBindingClass.positional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  ArgumentsBindingClass.named(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {
+  factory ArgumentsBindingClass.fNamed(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  static positionalArgumentsStaticMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  static namedArgumentsStaticMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
-  namedArgumentsMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2}) {}
-  positionalArgumentsMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2]) {}
+  namedArgumentsMethod(C0<U0, U1, U2> t1, {C0<U0, U1, U2> t2 = t1Default}) {}
+  positionalArgumentsMethod(C0<U0, U1, U2> t1, [C0<U0, U1, U2> t2 = t1Default]) {}
 
   set testSetter(C0<U0, U1, U2> val) {}
 }
@@ -77,18 +75,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -133,14 +126,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -206,81 +191,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<C0<U0, U1, U2>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<C0<U0, U1, U2>>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<C0<U0, U1, U2>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<C0<U0, U1, U2>>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<C0<U0, U1, U2>>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<C0<U0, U1, U2>>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<C0<U0, U1, U2>>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<C0<U0, U1, U2>>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<C0<U0, U1, U2>>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<C0<U0, U1, U2>>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
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 145ba56..c29b9f3 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
@@ -49,14 +49,14 @@
 class ArgumentsBindingSuper1_t02 {
   C0<U0, U1, U2> m;
 
-  ArgumentsBindingSuper1_t02(C0<U0, U1, U2> value) {}
-  ArgumentsBindingSuper1_t02.named(C0<U0, U1, U2> value, {C0<U0, U1, U2> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(C0<U0, U1, U2> value, [C0<U0, U1, U2> val2]) {}
+  ArgumentsBindingSuper1_t02(C0<U0, U1, U2> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(C0<U0, U1, U2> value, {C0<U0, U1, U2> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(C0<U0, U1, U2> value, [C0<U0, U1, U2> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -69,8 +69,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -161,28 +159,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -197,42 +188,6 @@
     }, (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);
 
@@ -241,10 +196,6 @@
     }, (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);
 
@@ -298,34 +249,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -336,54 +287,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<C0<U0, U1, U2>>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<C0<U0, U1, U2>>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<C0<U0, U1, U2>>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<C0<U0, U1, U2>>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<C0<U0, U1, U2>>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<C0<U0, U1, U2>>.valid().test();
+  new ArgumentsBinding2_t02<C0<U0, U1, U2>>(t1Instance).test();
   //# -->
 }
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 38aa2e0..a86a619 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
@@ -39,31 +39,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<C> t1, {FutureOr<C> t2}) {}
-positionalArgumentsFunc1(FutureOr<C> t1, [FutureOr<C> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<C> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<C> t1, {FutureOr<C> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<C> t1, [FutureOr<C> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<C> t1, {FutureOr<C> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<C> t1, {FutureOr<C> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<C> t1, [FutureOr<C> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<C> t1, {FutureOr<C> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<C> t1, [FutureOr<C> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<C> t1, {FutureOr<C> t2}) {}
-  positionalArgumentsMethod(FutureOr<C> t1, [FutureOr<C> t2]) {}
+  namedArgumentsMethod(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
   set testSetter(FutureOr<C> val) {}
 }
@@ -71,18 +69,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -97,8 +90,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -122,25 +113,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<C>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<C>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<C>> instance2 =
       new ArgumentsBindingGen<FutureOr<C>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 0e9bdbf..b4c5ff8 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
@@ -43,21 +43,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<C> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<C> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<C> value, {FutureOr<C> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<C> value, [FutureOr<C> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<C> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<C> value, {FutureOr<C> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<C> value, [FutureOr<C> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<C> val) {}
-  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2]) {}
-  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2}) {}
+  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2 = t1Default}) {}
   FutureOr<C> get superGetter => m;
   void set superSetter(FutureOr<C> 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) {}
@@ -78,31 +77,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -112,7 +103,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -132,17 +122,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<C>> c2 =
     new ArgumentsBinding2_t02<FutureOr<C>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 104b9a5..b747aac 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
@@ -41,11 +41,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<C> m;
+  FutureOr<C> m = t1Default;
 
   void superTest(FutureOr<C> val) {}
-  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2]) {}
-  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2}) {}
+  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2 = t1Default}) {}
   FutureOr<C> get superGetter => m;
   void set superSetter(FutureOr<C> val) {}
 }
@@ -65,12 +65,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -78,13 +74,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -106,11 +97,7 @@
   ArgumentsBinding2_t03<FutureOr<C>> c2 = new ArgumentsBinding2_t03<FutureOr<C>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 5816826..c2feb61 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
@@ -39,31 +39,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<C> t1, {FutureOr<C> t2}) {}
-positionalArgumentsFunc1(FutureOr<C> t1, [FutureOr<C> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<C> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<C> t1, {FutureOr<C> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<C> t1, [FutureOr<C> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<C> t1, {FutureOr<C> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<C> t1, {FutureOr<C> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<C> t1, [FutureOr<C> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<C> t1, {FutureOr<C> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<C> t1, [FutureOr<C> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<C> t1, {FutureOr<C> t2}) {}
-  positionalArgumentsMethod(FutureOr<C> t1, [FutureOr<C> t2]) {}
+  namedArgumentsMethod(FutureOr<C> t1, {FutureOr<C> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<C> t1, [FutureOr<C> t2 = t1Default]) {}
 
   set testSetter(FutureOr<C> val) {}
 }
@@ -71,18 +69,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -97,8 +90,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -122,25 +113,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<C>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<C>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<C>> instance2 =
       new ArgumentsBindingGen<FutureOr<C>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 a9b6cb7..b289ace 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
@@ -43,21 +43,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<C> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<C> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<C> value, {FutureOr<C> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<C> value, [FutureOr<C> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<C> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<C> value, {FutureOr<C> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<C> value, [FutureOr<C> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<C> val) {}
-  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2]) {}
-  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2}) {}
+  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2 = t1Default}) {}
   FutureOr<C> get superGetter => m;
   void set superSetter(FutureOr<C> 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) {}
@@ -78,31 +77,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -112,7 +103,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -132,17 +122,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<C>> c2 =
     new ArgumentsBinding2_t02<FutureOr<C>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 f16b0a2..67659ab 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
@@ -41,11 +41,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<C> m;
+  FutureOr<C> m = t1Default;
 
   void superTest(FutureOr<C> val) {}
-  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2]) {}
-  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2}) {}
+  void superTestPositioned(FutureOr<C> val, [FutureOr<C> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C> val, {FutureOr<C> val2 = t1Default}) {}
   FutureOr<C> get superGetter => m;
   void set superSetter(FutureOr<C> val) {}
 }
@@ -65,12 +65,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -78,13 +74,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -106,11 +97,7 @@
   ArgumentsBinding2_t03<FutureOr<C>> c2 = new ArgumentsBinding2_t03<FutureOr<C>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 adf20d2..99df5a8 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
@@ -41,31 +41,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-positionalArgumentsFunc1(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<C<A>> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<C<A>> t1, {FutureOr<C<A>> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-  positionalArgumentsMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
+  namedArgumentsMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
   set testSetter(FutureOr<C<A>> val) {}
 }
@@ -73,18 +71,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -99,8 +92,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -124,25 +115,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<C<A>>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<C<A>>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<C<A>>> instance2 =
       new ArgumentsBindingGen<FutureOr<C<A>>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 4b153f5..ed1bb39 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
@@ -45,21 +45,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<C<A>> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<C<A>> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<C<A>> value, {FutureOr<C<A>> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<C<A>> value, [FutureOr<C<A>> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<C<A>> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<C<A>> value, {FutureOr<C<A>> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<C<A>> value, [FutureOr<C<A>> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<C<A>> val) {}
-  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2]) {}
-  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2}) {}
+  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2 = t1Default}) {}
   FutureOr<C<A>> get superGetter => m;
   void set superSetter(FutureOr<C<A>> 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) {}
@@ -80,31 +79,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -114,7 +105,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -134,17 +124,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<C<A>>> c2 =
     new ArgumentsBinding2_t02<FutureOr<C<A>>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 e97cf23..a2ffce5 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
@@ -43,11 +43,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<C<A>> m;
+  FutureOr<C<A>> m = t1Default;
 
   void superTest(FutureOr<C<A>> val) {}
-  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2]) {}
-  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2}) {}
+  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2 = t1Default}) {}
   FutureOr<C<A>> get superGetter => m;
   void set superSetter(FutureOr<C<A>> val) {}
 }
@@ -67,12 +67,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -80,13 +76,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -108,11 +99,7 @@
   ArgumentsBinding2_t03<FutureOr<C<A>>> c2 = new ArgumentsBinding2_t03<FutureOr<C<A>>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 f801373..5a1eb64 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
@@ -42,31 +42,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-positionalArgumentsFunc1(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<C<A>> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<C<A>> t1, {FutureOr<C<A>> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2}) {}
-  positionalArgumentsMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2]) {}
+  namedArgumentsMethod(FutureOr<C<A>> t1, {FutureOr<C<A>> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<C<A>> t1, [FutureOr<C<A>> t2 = t1Default]) {}
 
   set testSetter(FutureOr<C<A>> val) {}
 }
@@ -74,18 +72,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -100,8 +93,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -125,25 +116,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<C<A>>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<C<A>>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<C<A>>> instance2 =
       new ArgumentsBindingGen<FutureOr<C<A>>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<C<A>>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 1c0d28d..c0bc954 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
@@ -46,21 +46,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<C<A>> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<C<A>> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<C<A>> value, {FutureOr<C<A>> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<C<A>> value, [FutureOr<C<A>> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<C<A>> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<C<A>> value, {FutureOr<C<A>> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<C<A>> value, [FutureOr<C<A>> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<C<A>> val) {}
-  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2]) {}
-  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2}) {}
+  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2 = t1Default}) {}
   FutureOr<C<A>> get superGetter => m;
   void set superSetter(FutureOr<C<A>> 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) {}
@@ -81,31 +80,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -115,7 +106,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -135,17 +125,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<C<A>>> c2 =
     new ArgumentsBinding2_t02<FutureOr<C<A>>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<C<A>>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 d161b41..018edb3 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
@@ -44,11 +44,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<C<A>> m;
+  FutureOr<C<A>> m = t1Default;
 
   void superTest(FutureOr<C<A>> val) {}
-  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2]) {}
-  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2}) {}
+  void superTestPositioned(FutureOr<C<A>> val, [FutureOr<C<A>> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<C<A>> val, {FutureOr<C<A>> val2 = t1Default}) {}
   FutureOr<C<A>> get superGetter => m;
   void set superSetter(FutureOr<C<A>> val) {}
 }
@@ -68,12 +68,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -81,13 +77,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -109,11 +100,7 @@
   ArgumentsBinding2_t03<FutureOr<C<A>>> c2 = new ArgumentsBinding2_t03<FutureOr<C<A>>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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
index 9e6b9f8..3c55a64 100644
--- 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
@@ -40,30 +40,28 @@
 
 
 
-namedArgumentsFunc1(Future<S0> t1, {Future<S0> t2}) {}
-positionalArgumentsFunc1(Future<S0> t1, [Future<S0> t2]) {}
+namedArgumentsFunc1(Future<S0> t1, {Future<S0> t2 = t1Default}) {}
+positionalArgumentsFunc1(Future<S0> t1, [Future<S0> t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Future<S0> t1) {}
 
-  ArgumentsBindingClass.named(Future<S0> t1, {Future<S0> t2}) {}
-  ArgumentsBindingClass.positional(Future<S0> t1, [Future<S0> t2]) {}
+  ArgumentsBindingClass.named(Future<S0> t1, {Future<S0> t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(Future<S0> t1, {Future<S0> t2}) {
+  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]) {
-    return new ArgumentsBindingClass.positional(t1, 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}) {}
-  static positionalArgumentsStaticMethod(Future<S0> t1, [Future<S0> 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}) {}
-  positionalArgumentsMethod(Future<S0> t1, [Future<S0> t2]) {}
+  namedArgumentsMethod(Future<S0> t1, {Future<S0> t2 = t1Default}) {}
+  positionalArgumentsMethod(Future<S0> t1, [Future<S0> t2 = t1Default]) {}
 
   set testSetter(Future<S0> val) {}
 }
@@ -71,18 +69,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -127,14 +120,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -200,81 +185,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<Future<S0>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<Future<S0>>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<Future<S0>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<Future<S0>>(t1Instance, 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(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>>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Future<S0>>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Future<S0>>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<S0>>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Future<S0>>(t1Instance).testSetter = forgetType(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
index cf27764..3169739 100644
--- 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
@@ -43,14 +43,14 @@
 class ArgumentsBindingSuper1_t02 {
   Future<S0> m;
 
-  ArgumentsBindingSuper1_t02(Future<S0> value) {}
-  ArgumentsBindingSuper1_t02.named(Future<S0> value, {Future<S0> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Future<S0> value, [Future<S0> val2]) {}
+  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]) {}
-  void superTestNamed(Future<S0> val, {Future<S0> val2}) {}
+  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) {}
 }
@@ -63,8 +63,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -155,28 +153,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -191,42 +182,6 @@
     }, (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);
 
@@ -235,10 +190,6 @@
     }, (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);
 
@@ -292,34 +243,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -330,54 +281,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.c1(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>>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.c4(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>>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<S0>>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<S0>>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<Future<S0>>.valid().test();
+  new ArgumentsBinding2_t02<Future<S0>>(t1Instance).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 ed13846..50bd920 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
@@ -41,30 +41,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -72,18 +70,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -128,14 +121,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -201,81 +186,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
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 5334328..1eefac9 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
@@ -44,14 +44,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -64,8 +64,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -156,28 +154,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -192,42 +183,6 @@
     }, (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);
 
@@ -236,10 +191,6 @@
     }, (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);
 
@@ -293,34 +244,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -331,54 +282,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
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 88dff1d..c8e1e10 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
@@ -48,30 +48,28 @@
 
 
 
-namedArgumentsFunc1(Future<C1> t1, {Future<C1> t2}) {}
-positionalArgumentsFunc1(Future<C1> t1, [Future<C1> t2]) {}
+namedArgumentsFunc1(Future<C1> t1, {Future<C1> t2 = t1Default}) {}
+positionalArgumentsFunc1(Future<C1> t1, [Future<C1> t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Future<C1> t1) {}
 
-  ArgumentsBindingClass.named(Future<C1> t1, {Future<C1> t2}) {}
-  ArgumentsBindingClass.positional(Future<C1> t1, [Future<C1> t2]) {}
+  ArgumentsBindingClass.named(Future<C1> t1, {Future<C1> t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(Future<C1> t1, {Future<C1> t2}) {
+  factory ArgumentsBindingClass.fNamed(Future<C1> t1, {Future<C1> t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Future<C1> t1, [Future<C1> t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(Future<C1> t1, [Future<C1> t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(Future<C1> t1, {Future<C1> t2}) {}
-  static positionalArgumentsStaticMethod(Future<C1> t1, [Future<C1> t2]) {}
+  static namedArgumentsStaticMethod(Future<C1> t1, {Future<C1> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Future<C1> t1, [Future<C1> t2 = t1Default]) {}
 
-  namedArgumentsMethod(Future<C1> t1, {Future<C1> t2}) {}
-  positionalArgumentsMethod(Future<C1> t1, [Future<C1> t2]) {}
+  namedArgumentsMethod(Future<C1> t1, {Future<C1> t2 = t1Default}) {}
+  positionalArgumentsMethod(Future<C1> t1, [Future<C1> t2 = t1Default]) {}
 
   set testSetter(Future<C1> val) {}
 }
@@ -79,18 +77,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -135,14 +128,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -208,81 +193,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<Future<C1>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<Future<C1>>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<Future<C1>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<Future<C1>>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<Future<C1>>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Future<C1>>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Future<C1>>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Future<C1>>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Future<C1>>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Future<C1>>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
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 b80419a..3f8f4ed 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
@@ -51,14 +51,14 @@
 class ArgumentsBindingSuper1_t02 {
   Future<C1> m;
 
-  ArgumentsBindingSuper1_t02(Future<C1> value) {}
-  ArgumentsBindingSuper1_t02.named(Future<C1> value, {Future<C1> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Future<C1> value, [Future<C1> val2]) {}
+  ArgumentsBindingSuper1_t02(Future<C1> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Future<C1> value, {Future<C1> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Future<C1> value, [Future<C1> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -71,8 +71,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -163,28 +161,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -199,42 +190,6 @@
     }, (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);
 
@@ -243,10 +198,6 @@
     }, (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);
 
@@ -300,34 +251,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -338,54 +289,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Future<C1>>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Future<C1>>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<C1>>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<C1>>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<C1>>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Future<C1>>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Future<C1>>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<Future<C1>>.valid().test();
+  new ArgumentsBinding2_t02<Future<C1>>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t01.dart
index e71ac5e..48eccc9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t01.dart
@@ -32,31 +32,29 @@
 
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -64,18 +62,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -90,8 +83,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -115,25 +106,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t02.dart
index a5fb55e..8c79cfa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t02.dart
@@ -36,21 +36,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -71,31 +70,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -105,7 +96,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -125,17 +115,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t03.dart
index 690cbfe..5419a61 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A01_t03.dart
@@ -34,11 +34,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -58,12 +58,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -71,13 +67,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -99,11 +90,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t01.dart
index 8543ed1..3cde052 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t01.dart
@@ -33,31 +33,29 @@
 
 
 
+namedArgumentsFunc1(dynamic t1, {dynamic t2 = t1Default}) {}
+positionalArgumentsFunc1(dynamic t1, [dynamic t2 = t1Default]) {}
 
-namedArgumentsFunc1(dynamic t1, {dynamic t2}) {}
-positionalArgumentsFunc1(dynamic t1, [dynamic t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(dynamic t1) {}
 
-  ArgumentsBindingClass.named(dynamic t1, {dynamic t2}) {}
-  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2]) {}
+  ArgumentsBindingClass.named(dynamic t1, {dynamic t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2}) {
+  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2]) {
+  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2}) {}
-  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2]) {}
+  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  namedArgumentsMethod(dynamic t1, {dynamic t2}) {}
-  positionalArgumentsMethod(dynamic t1, [dynamic t2]) {}
+  namedArgumentsMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  positionalArgumentsMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
   set testSetter(dynamic val) {}
 }
@@ -65,18 +63,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -91,8 +84,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -116,25 +107,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<dynamic>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<dynamic>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<dynamic> instance2 =
       new ArgumentsBindingGen<dynamic>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t02.dart
index 6c3af2b..07d2969 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t02.dart
@@ -37,21 +37,20 @@
 class ArgumentsBindingSuper1_t02 {
   dynamic m;
 
-  ArgumentsBindingSuper1_t02(dynamic value) {}
-  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2}) {}
-  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2]) {}
+  ArgumentsBindingSuper1_t02(dynamic value): m = value {}
+  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic 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) {}
@@ -72,31 +71,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -106,7 +97,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -126,17 +116,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<dynamic> c2 =
     new ArgumentsBinding2_t02<dynamic>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t03.dart
index 3f41e87..388f63a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/left_null_arguments_binding_A02_t03.dart
@@ -35,11 +35,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  dynamic m;
+  dynamic m = t1Default;
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic val) {}
 }
@@ -59,12 +59,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -72,13 +68,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -100,11 +91,7 @@
   ArgumentsBinding2_t03<dynamic> c2 = new ArgumentsBinding2_t03<dynamic>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 9b564d3..a10cca3 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
@@ -34,31 +34,29 @@
 
 
 
+namedArgumentsFunc1(Object? t1, {Object? t2 = t1Default}) {}
+positionalArgumentsFunc1(Object? t1, [Object? t2 = t1Default]) {}
 
-namedArgumentsFunc1(Object? t1, {Object? t2}) {}
-positionalArgumentsFunc1(Object? t1, [Object? t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object? t1) {}
 
-  ArgumentsBindingClass.named(Object? t1, {Object? t2}) {}
-  ArgumentsBindingClass.positional(Object? t1, [Object? t2]) {}
+  ArgumentsBindingClass.named(Object? t1, {Object? t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object? t1, [Object? t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2}) {
+  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2]) {
+  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object? t1, {Object? t2}) {}
-  static positionalArgumentsStaticMethod(Object? t1, [Object? t2]) {}
+  static namedArgumentsStaticMethod(Object? t1, {Object? t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object? t1, [Object? t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object? t1, {Object? t2}) {}
-  positionalArgumentsMethod(Object? t1, [Object? t2]) {}
+  namedArgumentsMethod(Object? t1, {Object? t2 = t1Default}) {}
+  positionalArgumentsMethod(Object? t1, [Object? t2 = t1Default]) {}
 
   set testSetter(Object? val) {}
 }
@@ -66,18 +64,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -92,8 +85,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -117,25 +108,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object?>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object?>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object?> instance2 =
       new ArgumentsBindingGen<Object?>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 3b5151e..df6a792 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
@@ -38,21 +38,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object? m;
 
-  ArgumentsBindingSuper1_t02(Object? value) {}
-  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2]) {}
+  ArgumentsBindingSuper1_t02(Object? value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? 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) {}
@@ -73,31 +72,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -107,7 +98,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -127,17 +117,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object?> c2 =
     new ArgumentsBinding2_t02<Object?>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 8fdd27f..c261941 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
@@ -36,11 +36,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object? m;
+  Object? m = t1Default;
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? val) {}
 }
@@ -60,12 +60,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -73,13 +69,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -101,11 +92,7 @@
   ArgumentsBinding2_t03<Object?> c2 = new ArgumentsBinding2_t03<Object?>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 4d858ac..27e526b 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
@@ -34,31 +34,29 @@
 
 
 
+namedArgumentsFunc1(Object? t1, {Object? t2 = t1Default}) {}
+positionalArgumentsFunc1(Object? t1, [Object? t2 = t1Default]) {}
 
-namedArgumentsFunc1(Object? t1, {Object? t2}) {}
-positionalArgumentsFunc1(Object? t1, [Object? t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object? t1) {}
 
-  ArgumentsBindingClass.named(Object? t1, {Object? t2}) {}
-  ArgumentsBindingClass.positional(Object? t1, [Object? t2]) {}
+  ArgumentsBindingClass.named(Object? t1, {Object? t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object? t1, [Object? t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2}) {
+  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2]) {
+  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object? t1, {Object? t2}) {}
-  static positionalArgumentsStaticMethod(Object? t1, [Object? t2]) {}
+  static namedArgumentsStaticMethod(Object? t1, {Object? t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object? t1, [Object? t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object? t1, {Object? t2}) {}
-  positionalArgumentsMethod(Object? t1, [Object? t2]) {}
+  namedArgumentsMethod(Object? t1, {Object? t2 = t1Default}) {}
+  positionalArgumentsMethod(Object? t1, [Object? t2 = t1Default]) {}
 
   set testSetter(Object? val) {}
 }
@@ -66,18 +64,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -92,8 +85,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -117,25 +108,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object?>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object?>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object?> instance2 =
       new ArgumentsBindingGen<Object?>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 faedfb1..0c71b22 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
@@ -38,21 +38,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object? m;
 
-  ArgumentsBindingSuper1_t02(Object? value) {}
-  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2]) {}
+  ArgumentsBindingSuper1_t02(Object? value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? 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) {}
@@ -73,31 +72,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -107,7 +98,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -127,17 +117,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object?> c2 =
     new ArgumentsBinding2_t02<Object?>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 b19d24b..660ffb5 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
@@ -36,11 +36,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object? m;
+  Object? m = t1Default;
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? val) {}
 }
@@ -60,12 +60,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -73,13 +69,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -101,11 +92,7 @@
   ArgumentsBinding2_t03<Object?> c2 = new ArgumentsBinding2_t03<Object?>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 e8b5ddf..4d8f117 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
@@ -36,31 +36,29 @@
 
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -68,18 +66,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -94,8 +87,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -119,25 +110,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 4fd997d..ad190e3 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
@@ -40,21 +40,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -75,31 +74,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -109,7 +100,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -129,17 +119,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 eae5821..dfdacb5 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
@@ -38,11 +38,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -62,12 +62,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -75,13 +71,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -103,11 +94,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 8ba78d6..7d0e95a 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
@@ -38,30 +38,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -69,18 +67,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -125,14 +118,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -198,81 +183,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
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 207c6f7..0d9c070 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
@@ -41,14 +41,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -61,8 +61,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -153,28 +151,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -189,42 +180,6 @@
     }, (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);
 
@@ -233,10 +188,6 @@
     }, (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);
 
@@ -290,34 +241,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -328,54 +279,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
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 0f9f563..fd110d4 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
@@ -57,31 +57,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -89,18 +87,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -115,8 +108,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -140,25 +131,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
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 0dc3cdd..1b8354d 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
@@ -61,21 +61,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -96,31 +95,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -130,7 +121,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -150,17 +140,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
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 2e98c4a..a88b881 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
@@ -59,11 +59,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -83,12 +83,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -96,13 +92,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -124,11 +115,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
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 7ef0db5..b277787 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
@@ -93,31 +93,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -125,18 +123,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -151,8 +144,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
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 72afb59..48f8ebb 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
@@ -97,21 +97,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -132,31 +131,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -166,7 +157,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
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 e5fb5f2..0dde944 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
@@ -95,11 +95,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -119,12 +119,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -132,13 +128,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
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 80963aa..9cbe13a 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
@@ -93,31 +93,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -125,18 +123,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -151,8 +144,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
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 aa87076..1d43b9c 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
@@ -97,21 +97,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -132,31 +131,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -166,7 +157,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
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 59986c0..57f2843 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
@@ -95,11 +95,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -119,12 +119,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -132,13 +128,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
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 d9940bd..1203f97 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
@@ -93,31 +93,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -125,18 +123,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -151,8 +144,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
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 9f184b0..42143ca 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
@@ -97,21 +97,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -132,31 +131,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -166,7 +157,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
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 99f2009..57b2b45 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
@@ -95,11 +95,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -119,12 +119,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -132,13 +128,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
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 78f950e..f161a74 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
@@ -75,31 +75,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -107,18 +105,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -133,8 +126,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
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 1b1fc14..9c65d66 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
@@ -79,21 +79,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -114,31 +113,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -148,7 +139,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
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 d001816..d44049a 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
@@ -77,11 +77,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -101,12 +101,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -114,13 +110,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
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 b8083e1..de83888 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
@@ -59,30 +59,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -90,18 +88,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -146,14 +139,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -219,81 +204,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
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 2e3e928..879b957 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
@@ -62,14 +62,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -82,8 +82,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -174,28 +172,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -210,42 +201,6 @@
     }, (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);
 
@@ -254,10 +209,6 @@
     }, (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);
 
@@ -311,34 +262,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -349,54 +300,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
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 572215c..34aeb08 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
@@ -68,30 +68,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -99,18 +97,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -155,14 +148,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
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 0388d08..e250f70 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
@@ -71,14 +71,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -91,8 +91,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -183,28 +181,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -219,42 +210,6 @@
     }, (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);
 
@@ -263,10 +218,6 @@
     }, (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);
 
@@ -320,34 +271,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
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 d45b036..3adf8af 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 0d29306..2083974 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_A22_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A22_t01.dart
index 3504512..00544d7 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
@@ -96,30 +96,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -127,18 +125,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -183,14 +176,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
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 0b8c727..50aa762 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
@@ -99,14 +99,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -119,8 +119,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -211,28 +209,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -247,42 +238,6 @@
     }, (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);
 
@@ -291,10 +246,6 @@
     }, (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);
 
@@ -348,34 +299,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
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 13d66ca..a43746c 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 f68b5b4..4d06709 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_A31_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A31_t01.dart
index 8e6ca1b..b29a648 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
@@ -61,30 +61,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -92,18 +90,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -148,14 +141,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -221,81 +206,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
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 a52dd79..40901f0 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
@@ -64,14 +64,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -84,8 +84,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -176,28 +174,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -212,42 +203,6 @@
     }, (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);
 
@@ -256,10 +211,6 @@
     }, (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);
 
@@ -313,34 +264,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -351,54 +302,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
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 ef7cc80..286d306 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
@@ -96,30 +96,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -127,18 +125,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -183,14 +176,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
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 66733b5..7d769c6 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
@@ -99,14 +99,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -119,8 +119,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -211,28 +209,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -247,42 +238,6 @@
     }, (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);
 
@@ -291,10 +246,6 @@
     }, (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);
 
@@ -348,34 +299,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
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 5b28170..82f23b2 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
@@ -78,30 +78,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -109,18 +107,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -165,14 +158,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t02.dart
index 33fc07a..fbe5220 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A33_t02.dart
@@ -81,14 +81,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -101,8 +101,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -193,28 +191,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -229,42 +220,6 @@
     }, (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);
 
@@ -273,10 +228,6 @@
     }, (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);
 
@@ -330,34 +281,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t01.dart
index b9e6ce1..93ba659 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t01.dart
@@ -60,30 +60,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -91,18 +89,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -147,14 +140,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -220,81 +205,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t02.dart
index 480493a..5729ef8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A41_t02.dart
@@ -63,14 +63,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -83,8 +83,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -175,28 +173,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -211,42 +202,6 @@
     }, (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);
 
@@ -255,10 +210,6 @@
     }, (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);
 
@@ -312,34 +263,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -350,54 +301,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t01.dart
index dd8d69f..9723300 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t01.dart
@@ -93,30 +93,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -124,18 +122,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -180,14 +173,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t02.dart
index 5f77c79..91711e1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A42_t02.dart
@@ -96,14 +96,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -116,8 +116,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -208,28 +206,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -244,42 +235,6 @@
     }, (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);
 
@@ -288,10 +243,6 @@
     }, (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);
 
@@ -345,34 +296,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t01.dart
index 6be2409..b40f7bd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t01.dart
@@ -77,30 +77,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -108,18 +106,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -164,14 +157,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t02.dart
index 4babf07..6eec471 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A43_t02.dart
@@ -80,14 +80,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -100,8 +100,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -192,28 +190,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -228,42 +219,6 @@
     }, (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);
 
@@ -272,10 +227,6 @@
     }, (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);
 
@@ -329,34 +280,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t01.dart
index 2eb86a8..e92973d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t01.dart
@@ -66,30 +66,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -97,18 +95,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -153,14 +146,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t02.dart
index a2807f4..3bf9038 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A51_t02.dart
@@ -69,14 +69,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -89,8 +89,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -181,28 +179,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -217,42 +208,6 @@
     }, (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);
 
@@ -261,10 +216,6 @@
     }, (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);
 
@@ -318,34 +269,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t01.dart
index f30d317..5d7198f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t01.dart
@@ -93,30 +93,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -124,18 +122,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -180,14 +173,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t02.dart
index 234038f..1622594 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A52_t02.dart
@@ -96,14 +96,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -116,8 +116,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -208,28 +206,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -244,42 +235,6 @@
     }, (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);
 
@@ -288,10 +243,6 @@
     }, (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);
 
@@ -345,34 +296,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t01.dart
index 8044bb1..022c4bb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t01.dart
@@ -77,30 +77,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -108,18 +106,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -164,14 +157,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t02.dart
index 01457d8..58c6753 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/named_function_types_fail_arguments_binding_fail_A53_t02.dart
@@ -80,14 +80,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -100,8 +100,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -192,28 +190,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -228,42 +219,6 @@
     }, (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);
 
@@ -272,10 +227,6 @@
     }, (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);
 
@@ -329,34 +280,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t01.dart
index 12e1a0f..95b33ea 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t01.dart
@@ -56,31 +56,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -88,18 +86,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -114,8 +107,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -139,25 +130,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t02.dart
index cc95494..0d751e9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t02.dart
@@ -60,21 +60,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -95,31 +94,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -129,7 +120,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -149,17 +139,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t03.dart
index 3ee9ef6..06654f2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A01_t03.dart
@@ -58,11 +58,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -82,12 +82,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -95,13 +91,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -123,11 +114,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t01.dart
index 08b85ac..71f10bd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t01.dart
@@ -57,31 +57,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -89,18 +87,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -115,8 +108,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -140,25 +131,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t02.dart
index 310a5c2..f1377d3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t02.dart
@@ -61,21 +61,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -96,31 +95,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -130,7 +121,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -150,17 +140,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t03.dart
index 9ae501d..15f71e3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A02_t03.dart
@@ -59,11 +59,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -83,12 +83,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -96,13 +92,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -124,11 +115,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t01.dart
index 1ddf630..6e516db 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t01.dart
@@ -57,31 +57,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -89,18 +87,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -115,8 +108,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -140,25 +131,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t02.dart
index 72205ba..41da80a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t02.dart
@@ -61,21 +61,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -96,31 +95,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -130,7 +121,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -150,17 +140,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t03.dart
index 0e3f520..14a9e30 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A03_t03.dart
@@ -59,11 +59,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -83,12 +83,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -96,13 +92,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -124,11 +115,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t01.dart
index b1a6dd1..a053963 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t01.dart
@@ -58,31 +58,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -90,18 +88,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -116,8 +109,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -141,25 +132,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t02.dart
index a31cebc..20c5bf0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t02.dart
@@ -62,21 +62,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -97,31 +96,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -131,7 +122,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -151,17 +141,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t03.dart
index 00aa8d1..220b87b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A04_t03.dart
@@ -60,11 +60,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -84,12 +84,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -97,13 +93,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -125,11 +116,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t01.dart
index 54f6e9c..8598f9b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t01.dart
@@ -92,31 +92,29 @@
 bool isGenericFunctionType = true;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -124,18 +122,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -150,8 +143,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t02.dart
index 8c1762e..bd9d3b3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t02.dart
@@ -96,21 +96,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -131,31 +130,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -165,7 +156,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t03.dart
index 6b2ddda..8ce2773 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A11_t03.dart
@@ -94,11 +94,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -118,12 +118,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -131,13 +127,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t01.dart
index 246d242..7843522 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t01.dart
@@ -94,31 +94,29 @@
 bool isGenericFunctionType = true;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -126,18 +124,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -152,8 +145,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t02.dart
index 413f6bc..e102dac 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t02.dart
@@ -98,21 +98,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -133,31 +132,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -167,7 +158,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t03.dart
index c7cf9d4..d7cdb2a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A12_t03.dart
@@ -96,11 +96,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -120,12 +120,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -133,13 +129,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t01.dart
index 8a323b7..340dff9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t01.dart
@@ -94,31 +94,29 @@
 bool isGenericFunctionType = true;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -126,18 +124,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -152,8 +145,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t02.dart
index 46b8416..bae6903 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t02.dart
@@ -98,21 +98,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -133,31 +132,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -167,7 +158,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t03.dart
index 706afae..d6d36eb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A13_t03.dart
@@ -96,11 +96,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -120,12 +120,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -133,13 +129,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t01.dart
index 772eb5f..45863cf 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t01.dart
@@ -94,31 +94,29 @@
 bool isGenericFunctionType = true;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -126,18 +124,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -152,8 +145,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t02.dart
index 3827939..816f456 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t02.dart
@@ -98,21 +98,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -133,31 +132,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -167,7 +158,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t03.dart
index b835cc5..898c45e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A14_t03.dart
@@ -96,11 +96,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -120,12 +120,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -133,13 +129,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t01.dart
index 49e5a92..75ac152 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t01.dart
@@ -94,31 +94,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -126,18 +124,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -152,8 +145,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t02.dart
index bc2fa20..a6f4147 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t02.dart
@@ -98,21 +98,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -133,31 +132,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -167,7 +158,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t03.dart
index 1a58d24..1d28a92 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A21_t03.dart
@@ -96,11 +96,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -120,12 +120,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -133,13 +129,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t01.dart
index 43de74c..0e3cac4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t01.dart
@@ -97,31 +97,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -129,18 +127,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -155,8 +148,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t02.dart
index 8d93d0b..1f0d563 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t02.dart
@@ -101,21 +101,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -136,31 +135,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -170,7 +161,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t03.dart
index 6414d5e..437a2f4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A22_t03.dart
@@ -99,11 +99,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -123,12 +123,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -136,13 +132,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t01.dart
index f6c5316..466c167 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t01.dart
@@ -97,31 +97,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -129,18 +127,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -155,8 +148,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t02.dart
index 62c3a09..cb2aadc 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t02.dart
@@ -101,21 +101,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -136,31 +135,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -170,7 +161,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t03.dart
index cc08b40..8a52890 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A23_t03.dart
@@ -99,11 +99,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -123,12 +123,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -136,13 +132,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t01.dart
index 9ec2e3e..381f230 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t01.dart
@@ -95,31 +95,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -127,18 +125,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -153,8 +146,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t02.dart
index f0a4748..57122e3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t02.dart
@@ -99,21 +99,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -134,31 +133,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -168,7 +159,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t03.dart
index b935609..87d113b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A24_t03.dart
@@ -97,11 +97,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -121,12 +121,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -134,13 +130,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t01.dart
index 840aa6d..d591e9b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t01.dart
@@ -93,31 +93,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -125,18 +123,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -151,8 +144,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t02.dart
index af46751..ce7711a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t02.dart
@@ -97,21 +97,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -132,31 +131,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -166,7 +157,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t03.dart
index 41d1fcc..c3a523c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A31_t03.dart
@@ -95,11 +95,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -119,12 +119,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -132,13 +128,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t01.dart
index d4713f2..80c0da0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t01.dart
@@ -93,31 +93,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -125,18 +123,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -151,8 +144,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t02.dart
index 7ea841c..f88fe9a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t02.dart
@@ -97,21 +97,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -132,31 +131,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -166,7 +157,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t03.dart
index 1c30fd4..68b22d9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A32_t03.dart
@@ -95,11 +95,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -119,12 +119,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -132,13 +128,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t01.dart
index 12ac8c4..48ba1ac 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t01.dart
@@ -93,31 +93,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -125,18 +123,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -151,8 +144,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t02.dart
index 76ccdcc..702f5a7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t02.dart
@@ -97,21 +97,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -132,31 +131,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -166,7 +157,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t03.dart
index c3b68d5..41c716e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A33_t03.dart
@@ -95,11 +95,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -119,12 +119,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -132,13 +128,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t01.dart
index 51e19c2..1376a81 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t01.dart
@@ -93,31 +93,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -125,18 +123,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -151,8 +144,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t02.dart
index 98c4320..4be4f84 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t02.dart
@@ -97,21 +97,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -132,31 +131,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -166,7 +157,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t03.dart
index 89b7273..6e5aa10 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A34_t03.dart
@@ -95,11 +95,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -119,12 +119,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -132,13 +128,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t01.dart
index 02c4332..739cbb6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t01.dart
@@ -75,31 +75,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -107,18 +105,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -133,8 +126,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t02.dart
index 412ab4f..abfa805 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t02.dart
@@ -79,21 +79,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -114,31 +113,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -148,7 +139,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t03.dart
index df26e42..2eca838 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A41_t03.dart
@@ -77,11 +77,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -101,12 +101,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -114,13 +110,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t01.dart
index d7b29f8..cf2c462 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t01.dart
@@ -75,31 +75,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -107,18 +105,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -133,8 +126,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t02.dart
index b56ff1d..9eec908 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t02.dart
@@ -79,21 +79,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -114,31 +113,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -148,7 +139,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t03.dart
index 75f98b2..0df4e31 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A42_t03.dart
@@ -77,11 +77,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -101,12 +101,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -114,13 +110,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t01.dart
index d18b004..23e01a2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t01.dart
@@ -75,31 +75,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -107,18 +105,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -133,8 +126,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t02.dart
index 47e657d..d732cbd 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t02.dart
@@ -79,21 +79,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -114,31 +113,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -148,7 +139,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t03.dart
index 0410f4e..d09b005 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A43_t03.dart
@@ -77,11 +77,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -101,12 +101,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -114,13 +110,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t01.dart
index f3ffe97..7c75b21 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t01.dart
@@ -75,31 +75,29 @@
 T1 t1Instance = t1Func;
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -107,18 +105,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -133,8 +126,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t02.dart
index 1bcf347..3756442 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t02.dart
@@ -79,21 +79,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -114,31 +113,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -148,7 +139,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t03.dart
index bbc753f..5ba553b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_arguments_binding_A44_t03.dart
@@ -77,11 +77,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -101,12 +101,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -114,13 +110,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t01.dart
index 7e13856..838fb4d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t01.dart
@@ -57,30 +57,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -88,18 +86,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -144,14 +137,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -217,81 +202,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t02.dart
index ee07a45..a11216b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A01_t02.dart
@@ -60,14 +60,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -80,8 +80,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -172,28 +170,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -208,42 +199,6 @@
     }, (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);
 
@@ -252,10 +207,6 @@
     }, (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);
 
@@ -309,34 +260,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -347,54 +298,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t01.dart
index e2249f8..32582e4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t01.dart
@@ -58,30 +58,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -89,18 +87,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -145,14 +138,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -218,81 +203,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t02.dart
index 667ab88..07b67b4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A02_t02.dart
@@ -61,14 +61,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -81,8 +81,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -173,28 +171,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -209,42 +200,6 @@
     }, (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);
 
@@ -253,10 +208,6 @@
     }, (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);
 
@@ -310,34 +261,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -348,54 +299,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t01.dart
index c0e3ef3..4dd7582 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t01.dart
@@ -57,30 +57,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -88,18 +86,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -144,14 +137,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -217,81 +202,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t02.dart
index 7337314..251c5ae 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A03_t02.dart
@@ -60,14 +60,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -80,8 +80,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -172,28 +170,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -208,42 +199,6 @@
     }, (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);
 
@@ -252,10 +207,6 @@
     }, (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);
 
@@ -309,34 +260,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -347,54 +298,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t01.dart
index 0d87326..47ef844 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t01.dart
@@ -57,30 +57,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -88,18 +86,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -144,14 +137,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -217,81 +202,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t02.dart
index b12b4e0..cc620d1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A04_t02.dart
@@ -60,14 +60,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -80,8 +80,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -172,28 +170,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -208,42 +199,6 @@
     }, (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);
 
@@ -252,10 +207,6 @@
     }, (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);
 
@@ -309,34 +260,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -347,54 +298,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t01.dart
index 69f547f..0afaf92 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t01.dart
@@ -88,30 +88,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -119,18 +117,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -175,14 +168,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t02.dart
index d546919..ade2842 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A05_t02.dart
@@ -91,14 +91,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -111,8 +111,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -203,28 +201,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -239,42 +230,6 @@
     }, (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);
 
@@ -283,10 +238,6 @@
     }, (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);
 
@@ -340,34 +291,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t01.dart
index 20ef5f3..1064128 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t01.dart
@@ -88,30 +88,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -119,18 +117,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -175,14 +168,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t02.dart
index 13ddb15..2073137 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A06_t02.dart
@@ -91,14 +91,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -111,8 +111,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -203,28 +201,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -239,42 +230,6 @@
     }, (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);
 
@@ -283,10 +238,6 @@
     }, (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);
 
@@ -340,34 +291,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t01.dart
index abaf281..b280c08 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t01.dart
@@ -88,30 +88,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -119,18 +117,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -175,14 +168,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t02.dart
index 3974271..730b96c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A07_t02.dart
@@ -91,14 +91,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -111,8 +111,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -203,28 +201,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -239,42 +230,6 @@
     }, (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);
 
@@ -283,10 +238,6 @@
     }, (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);
 
@@ -340,34 +291,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t01.dart
index 6a6ad9c..5451ae7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t01.dart
@@ -86,30 +86,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -117,18 +115,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -173,14 +166,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t02.dart
index 46ce61b..42cc4d7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A08_t02.dart
@@ -89,14 +89,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -109,8 +109,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -201,28 +199,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -237,42 +228,6 @@
     }, (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);
 
@@ -281,10 +236,6 @@
     }, (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);
 
@@ -338,34 +289,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t01.dart
index a676a04..c794c07 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t01.dart
@@ -60,30 +60,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -91,18 +89,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -147,14 +140,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -220,81 +205,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t02.dart
index b113f9a..06aea4c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A11_t02.dart
@@ -63,14 +63,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -83,8 +83,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -175,28 +173,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -211,42 +202,6 @@
     }, (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);
 
@@ -255,10 +210,6 @@
     }, (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);
 
@@ -312,34 +263,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -350,54 +301,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t01.dart
index c34cc35..da2945b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t01.dart
@@ -89,30 +89,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -120,18 +118,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -176,14 +169,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t02.dart
index 944bd14..4a42ae3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A12_t02.dart
@@ -92,14 +92,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -112,8 +112,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -204,28 +202,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -240,42 +231,6 @@
     }, (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);
 
@@ -284,10 +239,6 @@
     }, (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);
 
@@ -341,34 +292,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t01.dart
index 083ccf6..f900d4b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t01.dart
@@ -60,30 +60,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -91,18 +89,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -147,14 +140,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -220,81 +205,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t02.dart
index a9a450e..eb4d5fa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A21_t02.dart
@@ -63,14 +63,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -83,8 +83,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -175,28 +173,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -211,42 +202,6 @@
     }, (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);
 
@@ -255,10 +210,6 @@
     }, (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);
 
@@ -312,34 +263,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -350,54 +301,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t01.dart
index 98c9d19..2cb89b4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t01.dart
@@ -88,30 +88,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -119,18 +117,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -175,14 +168,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t02.dart
index 56b59c0..c8f24e1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A22_t02.dart
@@ -91,14 +91,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -111,8 +111,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -203,28 +201,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -239,42 +230,6 @@
     }, (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);
 
@@ -283,10 +238,6 @@
     }, (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);
 
@@ -340,34 +291,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t01.dart
index 4b908c9..13f4840 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t01.dart
@@ -78,30 +78,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -109,18 +107,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -165,14 +158,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t02.dart
index ce45f02..5e0dd45 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A31_t02.dart
@@ -81,14 +81,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -101,8 +101,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -193,28 +191,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -229,42 +220,6 @@
     }, (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);
 
@@ -273,10 +228,6 @@
     }, (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);
 
@@ -330,34 +281,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t01.dart
index 2d5500f..9eb002a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t01.dart
@@ -89,30 +89,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -120,18 +118,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -176,14 +169,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t02.dart
index f925c6c..ef7916a 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/positional_function_types_fail_arguments_binding_fail_A32_t02.dart
@@ -92,14 +92,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -112,8 +112,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -204,28 +202,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -240,42 +231,6 @@
     }, (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);
 
@@ -284,10 +239,6 @@
     }, (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);
 
@@ -341,34 +292,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t01.dart
index e9d2ef2..af1e557 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t01.dart
@@ -33,31 +33,29 @@
 
 
 
+namedArgumentsFunc1(T t1, {T t2 = t1Default}) {}
+positionalArgumentsFunc1(T t1, [T t2 = t1Default]) {}
 
-namedArgumentsFunc1(T t1, {T t2}) {}
-positionalArgumentsFunc1(T t1, [T t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T t1) {}
 
-  ArgumentsBindingClass.named(T t1, {T t2}) {}
-  ArgumentsBindingClass.positional(T t1, [T t2]) {}
+  ArgumentsBindingClass.named(T t1, {T t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T t1, [T t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T t1, {T t2}) {
+  factory ArgumentsBindingClass.fNamed(T t1, {T t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T t1, [T t2]) {
+  factory ArgumentsBindingClass.fPositional(T t1, [T t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T t1, {T t2}) {}
-  static positionalArgumentsStaticMethod(T t1, [T t2]) {}
+  static namedArgumentsStaticMethod(T t1, {T t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T t1, [T t2 = t1Default]) {}
 
-  namedArgumentsMethod(T t1, {T t2}) {}
-  positionalArgumentsMethod(T t1, [T t2]) {}
+  namedArgumentsMethod(T t1, {T t2 = t1Default}) {}
+  positionalArgumentsMethod(T t1, [T t2 = t1Default]) {}
 
   set testSetter(T val) {}
 }
@@ -65,18 +63,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -91,8 +84,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -116,25 +107,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T> instance2 =
       new ArgumentsBindingGen<T>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t02.dart
index 8f37cbe..2b59850 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t02.dart
@@ -37,21 +37,20 @@
 class ArgumentsBindingSuper1_t02 {
   T m;
 
-  ArgumentsBindingSuper1_t02(T value) {}
-  ArgumentsBindingSuper1_t02.named(T value, {T val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T value, [T val2]) {}
+  ArgumentsBindingSuper1_t02(T value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T value, {T val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T value, [T val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(T val) {}
-  void superTestPositioned(T val, [T val2]) {}
-  void superTestNamed(T val, {T val2}) {}
+  void superTestPositioned(T val, [T val2 = t1Default]) {}
+  void superTestNamed(T val, {T val2 = t1Default}) {}
   T get superGetter => m;
   void set superSetter(T 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) {}
@@ -72,31 +71,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -106,7 +97,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -126,17 +116,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T> c2 =
     new ArgumentsBinding2_t02<T>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t03.dart
index 49ef4d2..a06b510 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A01_t03.dart
@@ -35,11 +35,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T m;
+  T m = t1Default;
 
   void superTest(T val) {}
-  void superTestPositioned(T val, [T val2]) {}
-  void superTestNamed(T val, {T val2}) {}
+  void superTestPositioned(T val, [T val2 = t1Default]) {}
+  void superTestNamed(T val, {T val2 = t1Default}) {}
   T get superGetter => m;
   void set superSetter(T val) {}
 }
@@ -59,12 +59,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -72,13 +68,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -100,11 +91,7 @@
   ArgumentsBinding2_t03<T> c2 = new ArgumentsBinding2_t03<T>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t01.dart
index fa0b77b..73f59de 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t01.dart
@@ -31,31 +31,29 @@
 
 
 
+namedArgumentsFunc1(dynamic t1, {dynamic t2 = t1Default}) {}
+positionalArgumentsFunc1(dynamic t1, [dynamic t2 = t1Default]) {}
 
-namedArgumentsFunc1(dynamic t1, {dynamic t2}) {}
-positionalArgumentsFunc1(dynamic t1, [dynamic t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(dynamic t1) {}
 
-  ArgumentsBindingClass.named(dynamic t1, {dynamic t2}) {}
-  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2]) {}
+  ArgumentsBindingClass.named(dynamic t1, {dynamic t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2}) {
+  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2]) {
+  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2}) {}
-  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2]) {}
+  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  namedArgumentsMethod(dynamic t1, {dynamic t2}) {}
-  positionalArgumentsMethod(dynamic t1, [dynamic t2]) {}
+  namedArgumentsMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  positionalArgumentsMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
   set testSetter(dynamic val) {}
 }
@@ -63,18 +61,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -89,8 +82,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -114,25 +105,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<dynamic>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<dynamic>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<dynamic> instance2 =
       new ArgumentsBindingGen<dynamic>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t02.dart
index b8a6bfa..2991166 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t02.dart
@@ -35,21 +35,20 @@
 class ArgumentsBindingSuper1_t02 {
   dynamic m;
 
-  ArgumentsBindingSuper1_t02(dynamic value) {}
-  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2}) {}
-  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2]) {}
+  ArgumentsBindingSuper1_t02(dynamic value): m = value {}
+  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic 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) {}
@@ -70,31 +69,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -104,7 +95,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -124,17 +114,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<dynamic> c2 =
     new ArgumentsBinding2_t02<dynamic>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t03.dart
index be97495..4fcb7d9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A02_t03.dart
@@ -33,11 +33,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  dynamic m;
+  dynamic m = t1Default;
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic val) {}
 }
@@ -57,12 +57,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -70,13 +66,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -98,11 +89,7 @@
   ArgumentsBinding2_t03<dynamic> c2 = new ArgumentsBinding2_t03<dynamic>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t01.dart
index aea6a6c..164f318 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t01.dart
@@ -31,31 +31,29 @@
 
 
 
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object t1, [Object t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -63,18 +61,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -89,8 +82,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -114,25 +105,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object> instance2 =
       new ArgumentsBindingGen<Object>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t02.dart
index 778b0ec..c23e6e5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t02.dart
@@ -35,21 +35,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object 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) {}
@@ -70,31 +69,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -104,7 +95,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -124,17 +114,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object> c2 =
     new ArgumentsBinding2_t02<Object>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t03.dart
index d42cbe8..c3beb88 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A03_t03.dart
@@ -33,11 +33,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object m;
+  Object m = t1Default;
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object val) {}
 }
@@ -57,12 +57,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -70,13 +66,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -98,11 +89,7 @@
   ArgumentsBinding2_t03<Object> c2 = new ArgumentsBinding2_t03<Object>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t01.dart
index 24146c5..7707bc9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t01.dart
@@ -31,31 +31,29 @@
 
 
 
+namedArgumentsFunc1(Null t1, {Null t2 = t1Default}) {}
+positionalArgumentsFunc1(Null t1, [Null t2 = t1Default]) {}
 
-namedArgumentsFunc1(Null t1, {Null t2}) {}
-positionalArgumentsFunc1(Null t1, [Null t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Null t1) {}
 
-  ArgumentsBindingClass.named(Null t1, {Null t2}) {}
-  ArgumentsBindingClass.positional(Null t1, [Null t2]) {}
+  ArgumentsBindingClass.named(Null t1, {Null t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Null t1, [Null t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Null t1, {Null t2}) {
+  factory ArgumentsBindingClass.fNamed(Null t1, {Null t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Null t1, [Null t2]) {
+  factory ArgumentsBindingClass.fPositional(Null t1, [Null t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Null t1, {Null t2}) {}
-  static positionalArgumentsStaticMethod(Null t1, [Null t2]) {}
+  static namedArgumentsStaticMethod(Null t1, {Null t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Null t1, [Null t2 = t1Default]) {}
 
-  namedArgumentsMethod(Null t1, {Null t2}) {}
-  positionalArgumentsMethod(Null t1, [Null t2]) {}
+  namedArgumentsMethod(Null t1, {Null t2 = t1Default}) {}
+  positionalArgumentsMethod(Null t1, [Null t2 = t1Default]) {}
 
   set testSetter(Null val) {}
 }
@@ -63,18 +61,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -89,8 +82,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -114,25 +105,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Null>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Null>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Null> instance2 =
       new ArgumentsBindingGen<Null>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Null>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Null>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Null>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Null>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t02.dart
index 792aeeb..2747fd1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t02.dart
@@ -35,21 +35,20 @@
 class ArgumentsBindingSuper1_t02 {
   Null m;
 
-  ArgumentsBindingSuper1_t02(Null value) {}
-  ArgumentsBindingSuper1_t02.named(Null value, {Null val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Null value, [Null val2]) {}
+  ArgumentsBindingSuper1_t02(Null value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Null value, {Null val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Null value, [Null val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Null val) {}
-  void superTestPositioned(Null val, [Null val2]) {}
-  void superTestNamed(Null val, {Null val2}) {}
+  void superTestPositioned(Null val, [Null val2 = t1Default]) {}
+  void superTestNamed(Null val, {Null val2 = t1Default}) {}
   Null get superGetter => m;
   void set superSetter(Null 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) {}
@@ -70,31 +69,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -104,7 +95,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -124,17 +114,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Null> c2 =
     new ArgumentsBinding2_t02<Null>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Null>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Null>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Null>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Null>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Null>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t03.dart
index 69b5958..e4f5289 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/reflexivity_arguments_binding_A04_t03.dart
@@ -33,11 +33,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Null m;
+  Null m = t1Default;
 
   void superTest(Null val) {}
-  void superTestPositioned(Null val, [Null val2]) {}
-  void superTestNamed(Null val, {Null val2}) {}
+  void superTestPositioned(Null val, [Null val2 = t1Default]) {}
+  void superTestNamed(Null val, {Null val2 = t1Default}) {}
   Null get superGetter => m;
   void set superSetter(Null val) {}
 }
@@ -57,12 +57,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -70,13 +66,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -98,11 +89,7 @@
   ArgumentsBinding2_t03<Null> c2 = new ArgumentsBinding2_t03<Null>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t01.dart
index 44800f6..4382717 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t01.dart
@@ -46,31 +46,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<S1> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
   set testSetter(FutureOr<S1> val) {}
 }
@@ -78,18 +76,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -104,8 +97,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -129,25 +120,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<S1>> instance2 =
       new ArgumentsBindingGen<FutureOr<S1>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t02.dart
index 075099c..b8029c3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t02.dart
@@ -50,21 +50,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<S1> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<S1> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<S1> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> 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) {}
@@ -85,31 +84,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -119,7 +110,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -139,17 +129,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<S1>> c2 =
     new ArgumentsBinding2_t02<FutureOr<S1>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t03.dart
index 71ee388..875e79f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A01_t03.dart
@@ -48,11 +48,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<S1> m;
+  FutureOr<S1> m = t1Default;
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> val) {}
 }
@@ -72,12 +72,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -85,13 +81,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -113,11 +104,7 @@
   ArgumentsBinding2_t03<FutureOr<S1>> c2 = new ArgumentsBinding2_t03<FutureOr<S1>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t01.dart
index 1aa2c7c..48370f4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t01.dart
@@ -40,31 +40,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<S1> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
   set testSetter(FutureOr<S1> val) {}
 }
@@ -72,18 +70,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -98,8 +91,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -123,25 +114,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<S1>> instance2 =
       new ArgumentsBindingGen<FutureOr<S1>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t02.dart
index 2e9501e..6eca94f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t02.dart
@@ -44,21 +44,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<S1> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<S1> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<S1> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> 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) {}
@@ -79,31 +78,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -113,7 +104,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -133,17 +123,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<S1>> c2 =
     new ArgumentsBinding2_t02<FutureOr<S1>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t03.dart
index 3c676ec..dcf44d5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A02_t03.dart
@@ -42,11 +42,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<S1> m;
+  FutureOr<S1> m = t1Default;
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> val) {}
 }
@@ -66,12 +66,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -79,13 +75,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -107,11 +98,7 @@
   ArgumentsBinding2_t03<FutureOr<S1>> c2 = new ArgumentsBinding2_t03<FutureOr<S1>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t01.dart
index 63df27c..54e6a30 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t01.dart
@@ -48,31 +48,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<S1> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
   set testSetter(FutureOr<S1> val) {}
 }
@@ -80,18 +78,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -106,8 +99,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -131,25 +122,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<S1>> instance2 =
       new ArgumentsBindingGen<FutureOr<S1>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t02.dart
index cc9ce82..e56a325 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t02.dart
@@ -52,21 +52,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<S1> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<S1> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<S1> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> 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) {}
@@ -87,31 +86,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -121,7 +112,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -141,17 +131,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<S1>> c2 =
     new ArgumentsBinding2_t02<FutureOr<S1>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t03.dart
index c607b46..5275fb5 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A03_t03.dart
@@ -50,11 +50,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<S1> m;
+  FutureOr<S1> m = t1Default;
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> val) {}
 }
@@ -74,12 +74,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -87,13 +83,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -115,11 +106,7 @@
   ArgumentsBinding2_t03<FutureOr<S1>> c2 = new ArgumentsBinding2_t03<FutureOr<S1>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t01.dart
index 6ff1aeb..c5ac51f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t01.dart
@@ -42,31 +42,29 @@
 
 
 
+namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<S1> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2]) {
+  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
   set testSetter(FutureOr<S1> val) {}
 }
@@ -74,18 +72,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -100,8 +93,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -125,25 +116,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<FutureOr<S1>> instance2 =
       new ArgumentsBindingGen<FutureOr<S1>>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<FutureOr<S1>>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<FutureOr<S1>>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t02.dart
index 2b3c24f..88e9763 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t02.dart
@@ -46,21 +46,20 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<S1> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<S1> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<S1> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> 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) {}
@@ -81,31 +80,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -115,7 +106,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -135,17 +125,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<FutureOr<S1>> c2 =
     new ArgumentsBinding2_t02<FutureOr<S1>>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<FutureOr<S1>>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t03.dart
index f3971aa..aab9cf2 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_arguments_binding_A04_t03.dart
@@ -44,11 +44,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  FutureOr<S1> m;
+  FutureOr<S1> m = t1Default;
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => m;
   void set superSetter(FutureOr<S1> val) {}
 }
@@ -68,12 +68,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -81,13 +77,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -109,11 +100,7 @@
   ArgumentsBinding2_t03<FutureOr<S1>> c2 = new ArgumentsBinding2_t03<FutureOr<S1>>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t01.dart
index 2745a83..92c05d6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t01.dart
@@ -43,30 +43,28 @@
 
 
 
-namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<S1> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
   set testSetter(FutureOr<S1> val) {}
 }
@@ -74,18 +72,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -130,14 +123,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -203,81 +188,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<FutureOr<S1>>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<FutureOr<S1>>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t02.dart
index 00c595a..f95fe26 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A01_t02.dart
@@ -46,14 +46,14 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<S1> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<S1> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<S1> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => forgetType(t0Instance);
   void set superSetter(FutureOr<S1> val) {}
 }
@@ -66,8 +66,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -158,28 +156,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -194,42 +185,6 @@
     }, (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);
 
@@ -238,10 +193,6 @@
     }, (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);
 
@@ -295,34 +246,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -333,54 +284,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<FutureOr<S1>>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<FutureOr<S1>>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<FutureOr<S1>>.valid().test();
+  new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t01.dart
index b79bf1d..7e42630 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t01.dart
@@ -45,30 +45,28 @@
 
 
 
-namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+namedArgumentsFunc1(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+positionalArgumentsFunc1(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(FutureOr<S1> t1) {}
 
-  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  ArgumentsBindingClass.positional(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  ArgumentsBindingClass.named(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2}) {
+  factory ArgumentsBindingClass.fNamed(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  static namedArgumentsStaticMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
-  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2}) {}
-  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2]) {}
+  namedArgumentsMethod(FutureOr<S1> t1, {FutureOr<S1> t2 = t1Default}) {}
+  positionalArgumentsMethod(FutureOr<S1> t1, [FutureOr<S1> t2 = t1Default]) {}
 
   set testSetter(FutureOr<S1> val) {}
 }
@@ -76,18 +74,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -132,14 +125,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -205,81 +190,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<FutureOr<S1>>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<FutureOr<S1>>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<FutureOr<S1>>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<FutureOr<S1>>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t02.dart
index bf0fb6e..b1f9402 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_FutureOr_fail_arguments_binding_fail_A02_t02.dart
@@ -48,14 +48,14 @@
 class ArgumentsBindingSuper1_t02 {
   FutureOr<S1> m;
 
-  ArgumentsBindingSuper1_t02(FutureOr<S1> value) {}
-  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2}) {}
-  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2]) {}
+  ArgumentsBindingSuper1_t02(FutureOr<S1> value): m = value {}
+  ArgumentsBindingSuper1_t02.named(FutureOr<S1> value, {FutureOr<S1> val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(FutureOr<S1> value, [FutureOr<S1> val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(FutureOr<S1> val) {}
-  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2]) {}
-  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2}) {}
+  void superTestPositioned(FutureOr<S1> val, [FutureOr<S1> val2 = t1Default]) {}
+  void superTestNamed(FutureOr<S1> val, {FutureOr<S1> val2 = t1Default}) {}
   FutureOr<S1> get superGetter => forgetType(t0Instance);
   void set superSetter(FutureOr<S1> val) {}
 }
@@ -68,8 +68,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -160,28 +158,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -196,42 +187,6 @@
     }, (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);
 
@@ -240,10 +195,6 @@
     }, (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);
 
@@ -297,34 +248,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -335,54 +286,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<FutureOr<S1>>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<FutureOr<S1>>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<FutureOr<S1>>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<FutureOr<S1>>.valid().test();
+  new ArgumentsBinding2_t02<FutureOr<S1>>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t01.dart
index 8a25694..5095fa6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t01.dart
@@ -40,34 +40,34 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
 
 
 
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object t1, [Object t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -75,18 +75,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -104,8 +99,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -129,25 +122,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object> instance2 =
       new ArgumentsBindingGen<Object>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t02.dart
index aa0e5aa..7deebf0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t02.dart
@@ -40,6 +40,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
@@ -47,21 +49,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object 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) {}
@@ -82,31 +83,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -119,7 +112,6 @@
 test<T extends B>(T t0Instance) {
     
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -139,17 +131,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object> c2 =
     new ArgumentsBinding2_t02<Object>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t03.dart
index d18354e..3b39dd3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A01_t03.dart
@@ -40,16 +40,18 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object m;
+  Object m = t1Default;
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object val) {}
 }
@@ -69,12 +71,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -82,13 +80,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -113,12 +106,8 @@
   ArgumentsBinding2_t03<Object> c2 = new ArgumentsBinding2_t03<Object>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t01.dart
index b9fdaf3..2edf4f8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t01.dart
@@ -43,31 +43,29 @@
 
 
 
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object t1, [Object t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -75,18 +73,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -101,8 +94,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -126,25 +117,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object> instance2 =
       new ArgumentsBindingGen<Object>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t02.dart
index 580bfb8..cb431db 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t02.dart
@@ -47,21 +47,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object 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) {}
@@ -82,31 +81,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -116,7 +107,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -136,17 +126,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object> c2 =
     new ArgumentsBinding2_t02<Object>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t03.dart
index 07fd28b..10714ac 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A04_t03.dart
@@ -45,11 +45,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object m;
+  Object m = t1Default;
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object val) {}
 }
@@ -69,12 +69,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -82,13 +78,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -110,11 +101,7 @@
   ArgumentsBinding2_t03<Object> c2 = new ArgumentsBinding2_t03<Object>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t01.dart
index d3ad595..00c86e6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t01.dart
@@ -43,31 +43,29 @@
 
 
 
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object t1, [Object t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -75,18 +73,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -101,8 +94,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -126,25 +117,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object> instance2 =
       new ArgumentsBindingGen<Object>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t02.dart
index 35c2e32..8a6a60e 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t02.dart
@@ -47,21 +47,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object 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) {}
@@ -82,31 +81,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -116,7 +107,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -136,17 +126,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object> c2 =
     new ArgumentsBinding2_t02<Object>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t03.dart
index fd617b7..847feaf 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_arguments_binding_A05_t03.dart
@@ -45,11 +45,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object m;
+  Object m = t1Default;
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => m;
   void set superSetter(Object val) {}
 }
@@ -69,12 +69,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -82,13 +78,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -110,11 +101,7 @@
   ArgumentsBinding2_t03<Object> c2 = new ArgumentsBinding2_t03<Object>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t01.dart
index 8de3eaf..8074ef6 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t01.dart
@@ -40,6 +40,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t02.dart
index b1c749c..7ec7ada 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t02.dart
@@ -40,6 +40,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t03.dart
index c4f273c..73e253b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_class_member_A01_t03.dart
@@ -40,6 +40,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t01.dart
index 24981f9..e76a3d1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t01.dart
@@ -42,33 +42,33 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
 
 
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
+
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -76,18 +76,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -132,14 +127,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -205,81 +192,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<Object>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t02.dart
index 47cd833..229ad44 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t02.dart
@@ -29,7 +29,7 @@
  * 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';
@@ -42,20 +42,22 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => forgetType(t0Instance);
   void set superSetter(Object val) {}
 }
@@ -68,8 +70,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -160,28 +160,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -196,42 +189,6 @@
     }, (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);
 
@@ -240,10 +197,6 @@
     }, (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);
 
@@ -270,6 +223,7 @@
 }
 
 main() {
+  print(t0Instance.runtimeType);
   // test constructors
   Expect.throws(() {
     new ArgumentsBinding1_t02(forgetType(t0Instance));
@@ -297,34 +251,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -335,54 +289,40 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<Object>.valid().test();
+  new ArgumentsBinding2_t02<Object>(t1Instance).test();
   //# -->
 }
+*/
+
+dynamic forgetType(dynamic v) => v;
+
+Object? o = new Object();
+foo(Object val) {}
+
+main() {
+  foo(forgetType(o)); // Runtime error?
+}
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t03.dart
index bd60713..8d636b8 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A03_t03.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t01.dart
index 327850d..b61f596 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t01.dart
@@ -45,30 +45,28 @@
 
 
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -76,18 +74,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -132,14 +125,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -205,81 +190,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<Object>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t02.dart
index f6faabc..1d4debe 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A04_t02.dart
@@ -48,14 +48,14 @@
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => forgetType(t0Instance);
   void set superSetter(Object val) {}
 }
@@ -68,8 +68,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -160,28 +158,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -196,42 +187,6 @@
     }, (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);
 
@@ -240,10 +195,6 @@
     }, (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);
 
@@ -297,34 +248,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -335,54 +286,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<Object>.valid().test();
+  new ArgumentsBinding2_t02<Object>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t01.dart
index 24dd2be..7e8a957 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t01.dart
@@ -44,30 +44,28 @@
 
 
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -75,18 +73,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -131,14 +124,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -204,81 +189,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<Object>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t02.dart
index e5991dd..f87caf4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A05_t02.dart
@@ -47,14 +47,14 @@
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => forgetType(t0Instance);
   void set superSetter(Object val) {}
 }
@@ -67,8 +67,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -159,28 +157,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -195,42 +186,6 @@
     }, (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);
 
@@ -239,10 +194,6 @@
     }, (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);
 
@@ -296,34 +247,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -334,54 +285,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<Object>.valid().test();
+  new ArgumentsBinding2_t02<Object>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t01.dart
index b8ef422..f486b27 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t01.dart
@@ -44,30 +44,28 @@
 
 
 
-namedArgumentsFunc1(Object t1, {Object t2}) {}
-positionalArgumentsFunc1(Object t1, [Object t2]) {}
+namedArgumentsFunc1(Object t1, {Object t2 = t1Default}) {}
+positionalArgumentsFunc1(Object t1, [Object t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object t1) {}
 
-  ArgumentsBindingClass.named(Object t1, {Object t2}) {}
-  ArgumentsBindingClass.positional(Object t1, [Object t2]) {}
+  ArgumentsBindingClass.named(Object t1, {Object t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2}) {
+  factory ArgumentsBindingClass.fNamed(Object t1, {Object t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(Object t1, [Object t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(Object t1, {Object t2}) {}
-  static positionalArgumentsStaticMethod(Object t1, [Object t2]) {}
+  static namedArgumentsStaticMethod(Object t1, {Object t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object t1, [Object t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object t1, {Object t2}) {}
-  positionalArgumentsMethod(Object t1, [Object t2]) {}
+  namedArgumentsMethod(Object t1, {Object t2 = t1Default}) {}
+  positionalArgumentsMethod(Object t1, [Object t2 = t1Default]) {}
 
   set testSetter(Object val) {}
 }
@@ -75,18 +73,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -131,14 +124,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -204,81 +189,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<Object>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<Object>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<Object>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<Object>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t02.dart
index 045c05a..0d33f80 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_arguments_binding_fail_A06_t02.dart
@@ -47,14 +47,14 @@
 class ArgumentsBindingSuper1_t02 {
   Object m;
 
-  ArgumentsBindingSuper1_t02(Object value) {}
-  ArgumentsBindingSuper1_t02.named(Object value, {Object val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2]) {}
+  ArgumentsBindingSuper1_t02(Object value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object value, {Object val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object value, [Object val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object val) {}
-  void superTestPositioned(Object val, [Object val2]) {}
-  void superTestNamed(Object val, {Object val2}) {}
+  void superTestPositioned(Object val, [Object val2 = t1Default]) {}
+  void superTestNamed(Object val, {Object val2 = t1Default}) {}
   Object get superGetter => forgetType(t0Instance);
   void set superSetter(Object val) {}
 }
@@ -67,8 +67,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -159,28 +157,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -195,42 +186,6 @@
     }, (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);
 
@@ -239,10 +194,6 @@
     }, (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);
 
@@ -296,34 +247,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -334,54 +285,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<Object>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<Object>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<Object>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<Object>.valid().test();
+  new ArgumentsBinding2_t02<Object>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t01.dart
index 73c0e2f..c3bd7f1 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t01.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t02.dart
index 74d9545..3583b85 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t02.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t03.dart
index 74253c0..ec9ec53 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_class_member_fail_A03_t03.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_global_variable_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_global_variable_fail_A03_t01.dart
index 5b45ebd..9997165 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_global_variable_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_global_variable_fail_A03_t01.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_local_variable_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_local_variable_fail_A03_t01.dart
index 22380ce..23ddb7f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_local_variable_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_local_variable_fail_A03_t01.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_return_value_fail_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_return_value_fail_A03_t01.dart
index 774435d..cf68db3 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_return_value_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_fail_return_value_fail_A03_t01.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_global_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_global_variable_A01_t01.dart
index c9565bb..a222c9c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_global_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_global_variable_A01_t01.dart
@@ -40,6 +40,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_local_variable_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_local_variable_A01_t01.dart
index c997f98..3d8a03d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_local_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_local_variable_A01_t01.dart
@@ -40,6 +40,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_object_return_value_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_object_return_value_A01_t01.dart
index 57a352e..9b88b7d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_object_return_value_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_object_return_value_A01_t01.dart
@@ -40,6 +40,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t01.dart
index 67e803d..a9f5c7b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t01.dart
@@ -33,31 +33,29 @@
 
 
 
+namedArgumentsFunc1(Object? t1, {Object? t2 = t1Default}) {}
+positionalArgumentsFunc1(Object? t1, [Object? t2 = t1Default]) {}
 
-namedArgumentsFunc1(Object? t1, {Object? t2}) {}
-positionalArgumentsFunc1(Object? t1, [Object? t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object? t1) {}
 
-  ArgumentsBindingClass.named(Object? t1, {Object? t2}) {}
-  ArgumentsBindingClass.positional(Object? t1, [Object? t2]) {}
+  ArgumentsBindingClass.named(Object? t1, {Object? t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object? t1, [Object? t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2}) {
+  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2]) {
+  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object? t1, {Object? t2}) {}
-  static positionalArgumentsStaticMethod(Object? t1, [Object? t2]) {}
+  static namedArgumentsStaticMethod(Object? t1, {Object? t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object? t1, [Object? t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object? t1, {Object? t2}) {}
-  positionalArgumentsMethod(Object? t1, [Object? t2]) {}
+  namedArgumentsMethod(Object? t1, {Object? t2 = t1Default}) {}
+  positionalArgumentsMethod(Object? t1, [Object? t2 = t1Default]) {}
 
   set testSetter(Object? val) {}
 }
@@ -65,18 +63,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -91,8 +84,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -116,25 +107,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object?>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object?>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object?> instance2 =
       new ArgumentsBindingGen<Object?>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t02.dart
index 46bceca..66945c9 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t02.dart
@@ -37,21 +37,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object? m;
 
-  ArgumentsBindingSuper1_t02(Object? value) {}
-  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2]) {}
+  ArgumentsBindingSuper1_t02(Object? value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? 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) {}
@@ -72,31 +71,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -106,7 +97,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -126,17 +116,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object?> c2 =
     new ArgumentsBinding2_t02<Object?>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t03.dart
index e5ea43e..59f0870 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A01_t03.dart
@@ -35,11 +35,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object? m;
+  Object? m = t1Default;
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? val) {}
 }
@@ -59,12 +59,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -72,13 +68,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -100,11 +91,7 @@
   ArgumentsBinding2_t03<Object?> c2 = new ArgumentsBinding2_t03<Object?>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t01.dart
index 21ba1eb..137a4cb 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t01.dart
@@ -33,31 +33,29 @@
 
 
 
+namedArgumentsFunc1(dynamic t1, {dynamic t2 = t1Default}) {}
+positionalArgumentsFunc1(dynamic t1, [dynamic t2 = t1Default]) {}
 
-namedArgumentsFunc1(dynamic t1, {dynamic t2}) {}
-positionalArgumentsFunc1(dynamic t1, [dynamic t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(dynamic t1) {}
 
-  ArgumentsBindingClass.named(dynamic t1, {dynamic t2}) {}
-  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2]) {}
+  ArgumentsBindingClass.named(dynamic t1, {dynamic t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2}) {
+  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2]) {
+  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2}) {}
-  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2]) {}
+  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  namedArgumentsMethod(dynamic t1, {dynamic t2}) {}
-  positionalArgumentsMethod(dynamic t1, [dynamic t2]) {}
+  namedArgumentsMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  positionalArgumentsMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
   set testSetter(dynamic val) {}
 }
@@ -65,18 +63,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -91,8 +84,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -116,25 +107,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<dynamic>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<dynamic>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<dynamic> instance2 =
       new ArgumentsBindingGen<dynamic>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t02.dart
index 1640634..383b620 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t02.dart
@@ -37,21 +37,20 @@
 class ArgumentsBindingSuper1_t02 {
   dynamic m;
 
-  ArgumentsBindingSuper1_t02(dynamic value) {}
-  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2}) {}
-  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2]) {}
+  ArgumentsBindingSuper1_t02(dynamic value): m = value {}
+  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic 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) {}
@@ -72,31 +71,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -106,7 +97,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -126,17 +116,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<dynamic> c2 =
     new ArgumentsBinding2_t02<dynamic>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t03.dart
index 9122d5f..971aa2c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A02_t03.dart
@@ -35,11 +35,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  dynamic m;
+  dynamic m = t1Default;
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic val) {}
 }
@@ -59,12 +59,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -72,13 +68,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -100,11 +91,7 @@
   ArgumentsBinding2_t03<dynamic> c2 = new ArgumentsBinding2_t03<dynamic>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t01.dart
index 528c1aa..2158a6b 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t01.dart
@@ -31,31 +31,29 @@
 
 
 
+namedArgumentsFunc1(Object? t1, {Object? t2 = t1Default}) {}
+positionalArgumentsFunc1(Object? t1, [Object? t2 = t1Default]) {}
 
-namedArgumentsFunc1(Object? t1, {Object? t2}) {}
-positionalArgumentsFunc1(Object? t1, [Object? t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(Object? t1) {}
 
-  ArgumentsBindingClass.named(Object? t1, {Object? t2}) {}
-  ArgumentsBindingClass.positional(Object? t1, [Object? t2]) {}
+  ArgumentsBindingClass.named(Object? t1, {Object? t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(Object? t1, [Object? t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2}) {
+  factory ArgumentsBindingClass.fNamed(Object? t1, {Object? t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2]) {
+  factory ArgumentsBindingClass.fPositional(Object? t1, [Object? t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(Object? t1, {Object? t2}) {}
-  static positionalArgumentsStaticMethod(Object? t1, [Object? t2]) {}
+  static namedArgumentsStaticMethod(Object? t1, {Object? t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(Object? t1, [Object? t2 = t1Default]) {}
 
-  namedArgumentsMethod(Object? t1, {Object? t2}) {}
-  positionalArgumentsMethod(Object? t1, [Object? t2]) {}
+  namedArgumentsMethod(Object? t1, {Object? t2 = t1Default}) {}
+  positionalArgumentsMethod(Object? t1, [Object? t2 = t1Default]) {}
 
   set testSetter(Object? val) {}
 }
@@ -63,18 +61,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -89,8 +82,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -114,25 +105,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<Object?>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<Object?>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<Object?> instance2 =
       new ArgumentsBindingGen<Object?>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<Object?>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<Object?>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t02.dart
index cc88e19..5438e95 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t02.dart
@@ -35,21 +35,20 @@
 class ArgumentsBindingSuper1_t02 {
   Object? m;
 
-  ArgumentsBindingSuper1_t02(Object? value) {}
-  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2}) {}
-  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2]) {}
+  ArgumentsBindingSuper1_t02(Object? value): m = value {}
+  ArgumentsBindingSuper1_t02.named(Object? value, {Object? val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(Object? value, [Object? val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? 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) {}
@@ -70,31 +69,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -104,7 +95,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -124,17 +114,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<Object?> c2 =
     new ArgumentsBinding2_t02<Object?>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<Object?>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<Object?>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t03.dart
index 87ef11a..a7723d4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A03_t03.dart
@@ -33,11 +33,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  Object? m;
+  Object? m = t1Default;
 
   void superTest(Object? val) {}
-  void superTestPositioned(Object? val, [Object? val2]) {}
-  void superTestNamed(Object? val, {Object? val2}) {}
+  void superTestPositioned(Object? val, [Object? val2 = t1Default]) {}
+  void superTestNamed(Object? val, {Object? val2 = t1Default}) {}
   Object? get superGetter => m;
   void set superSetter(Object? val) {}
 }
@@ -57,12 +57,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -70,13 +66,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -98,11 +89,7 @@
   ArgumentsBinding2_t03<Object?> c2 = new ArgumentsBinding2_t03<Object?>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t01.dart
index 606362d..b0c2545 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t01.dart
@@ -31,31 +31,29 @@
 
 
 
+namedArgumentsFunc1(dynamic t1, {dynamic t2 = t1Default}) {}
+positionalArgumentsFunc1(dynamic t1, [dynamic t2 = t1Default]) {}
 
-namedArgumentsFunc1(dynamic t1, {dynamic t2}) {}
-positionalArgumentsFunc1(dynamic t1, [dynamic t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(dynamic t1) {}
 
-  ArgumentsBindingClass.named(dynamic t1, {dynamic t2}) {}
-  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2]) {}
+  ArgumentsBindingClass.named(dynamic t1, {dynamic t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2}) {
+  factory ArgumentsBindingClass.fNamed(dynamic t1, {dynamic t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2]) {
+  factory ArgumentsBindingClass.fPositional(dynamic t1, [dynamic t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2}) {}
-  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2]) {}
+  static namedArgumentsStaticMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
-  namedArgumentsMethod(dynamic t1, {dynamic t2}) {}
-  positionalArgumentsMethod(dynamic t1, [dynamic t2]) {}
+  namedArgumentsMethod(dynamic t1, {dynamic t2 = t1Default}) {}
+  positionalArgumentsMethod(dynamic t1, [dynamic t2 = t1Default]) {}
 
   set testSetter(dynamic val) {}
 }
@@ -63,18 +61,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -89,8 +82,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -114,25 +105,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<dynamic>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<dynamic>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<dynamic> instance2 =
       new ArgumentsBindingGen<dynamic>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<dynamic>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<dynamic>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t02.dart
index 8b08104..84bd210 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t02.dart
@@ -35,21 +35,20 @@
 class ArgumentsBindingSuper1_t02 {
   dynamic m;
 
-  ArgumentsBindingSuper1_t02(dynamic value) {}
-  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2}) {}
-  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2]) {}
+  ArgumentsBindingSuper1_t02(dynamic value): m = value {}
+  ArgumentsBindingSuper1_t02.named(dynamic value, {dynamic val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(dynamic value, [dynamic val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic 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) {}
@@ -70,31 +69,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -104,7 +95,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -124,17 +114,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<dynamic> c2 =
     new ArgumentsBinding2_t02<dynamic>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<dynamic>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<dynamic>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t03.dart
index a0ed09f..c490cf0 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/right_top_arguments_binding_A04_t03.dart
@@ -33,11 +33,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  dynamic m;
+  dynamic m = t1Default;
 
   void superTest(dynamic val) {}
-  void superTestPositioned(dynamic val, [dynamic val2]) {}
-  void superTestNamed(dynamic val, {dynamic val2}) {}
+  void superTestPositioned(dynamic val, [dynamic val2 = t1Default]) {}
+  void superTestNamed(dynamic val, {dynamic val2 = t1Default}) {}
   dynamic get superGetter => m;
   void set superSetter(dynamic val) {}
 }
@@ -57,12 +57,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -70,13 +66,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -98,11 +89,7 @@
   ArgumentsBinding2_t03<dynamic> c2 = new ArgumentsBinding2_t03<dynamic>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t01.dart
index 6818476..7e7519f 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t01.dart
@@ -42,31 +42,29 @@
 
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -74,18 +72,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -100,8 +93,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -125,25 +116,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t02.dart
index edf16e9..178ac76 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t02.dart
@@ -46,21 +46,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -81,31 +80,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -115,7 +106,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -135,17 +125,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t03.dart
index 432dc74..a83ad1d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A01_t03.dart
@@ -44,11 +44,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -68,12 +68,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -81,13 +77,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -109,11 +100,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t01.dart
index f83ba76..5c5a01c 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t01.dart
@@ -43,31 +43,29 @@
 
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -75,18 +73,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -101,8 +94,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -126,25 +117,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t02.dart
index 2dbdc34..0abd052 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t02.dart
@@ -47,21 +47,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -82,31 +81,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -116,7 +107,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -136,17 +126,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t03.dart
index 7644f72..b2b41d7 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A02_t03.dart
@@ -45,11 +45,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -69,12 +69,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -82,13 +78,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -110,11 +101,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t01.dart
index 4b83d73..965583d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t01.dart
@@ -45,31 +45,29 @@
 
 
 
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(T1 t1, [T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -77,18 +75,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -103,8 +96,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -128,25 +119,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<T1> instance2 =
       new ArgumentsBindingGen<T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t02.dart
index ee21f66..e1479fa 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t02.dart
@@ -49,21 +49,20 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(T1 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) {}
@@ -84,31 +83,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -118,7 +109,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -138,17 +128,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<T1> c2 =
     new ArgumentsBinding2_t02<T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t03.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t03.dart
index 4eb4af3..1ea81ee 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_arguments_binding_A03_t03.dart
@@ -47,11 +47,11 @@
 
 
 class ArgumentsBindingMixin1_t03 {
-  T1 m;
+  T1 m = t1Default;
 
   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 => m;
   void set superSetter(T1 val) {}
 }
@@ -71,12 +71,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -84,13 +80,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -112,11 +103,7 @@
   ArgumentsBinding2_t03<T1> c2 = new ArgumentsBinding2_t03<T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t01.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t01.dart
index c5b9d57..63f84e4 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t01.dart
@@ -45,30 +45,28 @@
 
 
 
-namedArgumentsFunc1(T1 t1, {T1 t2}) {}
-positionalArgumentsFunc1(T1 t1, [T1 t2]) {}
+namedArgumentsFunc1(T1 t1, {T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(T1 t1, [T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(T1 t1) {}
 
-  ArgumentsBindingClass.named(T1 t1, {T1 t2}) {}
-  ArgumentsBindingClass.positional(T1 t1, [T1 t2]) {}
+  ArgumentsBindingClass.named(T1 t1, {T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(T1 t1, {T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(T1 t1, [T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(T1 t1, {T1 t2}) {}
-  static positionalArgumentsStaticMethod(T1 t1, [T1 t2]) {}
+  static namedArgumentsStaticMethod(T1 t1, {T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(T1 t1, [T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(T1 t1, {T1 t2}) {}
-  positionalArgumentsMethod(T1 t1, [T1 t2]) {}
+  namedArgumentsMethod(T1 t1, {T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(T1 t1, [T1 t2 = t1Default]) {}
 
   set testSetter(T1 val) {}
 }
@@ -76,18 +74,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -132,14 +125,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -205,81 +190,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t02.dart b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t02.dart
index 40bdd57..7e4711d 100644
--- a/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/generated/super_interface_fail_arguments_binding_fail_A01_t02.dart
@@ -48,14 +48,14 @@
 class ArgumentsBindingSuper1_t02 {
   T1 m;
 
-  ArgumentsBindingSuper1_t02(T1 value) {}
-  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2]) {}
+  ArgumentsBindingSuper1_t02(T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(T1 value, {T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(T1 value, [T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -68,8 +68,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -160,28 +158,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -196,42 +187,6 @@
     }, (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);
 
@@ -240,10 +195,6 @@
     }, (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);
 
@@ -297,34 +248,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -335,54 +286,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<T1>.valid().test();
+  new ArgumentsBinding2_t02<T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x01.dart b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x01.dart
index 0b58e51..c58b592 100644
--- a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x01.dart
@@ -9,30 +9,28 @@
  * @author sgrekhov@unipro.ru
  */
 
-namedArgumentsFunc1(@T1 t1, {@T1 t2}) {}
-positionalArgumentsFunc1(@T1 t1, [@T1 t2]) {}
+namedArgumentsFunc1(@T1 t1, {@T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(@T1 t1, [@T1 t2 = t1Default]) {}
 
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(@T1 t1) {}
 
-  ArgumentsBindingClass.named(@T1 t1, {@T1 t2}) {}
-  ArgumentsBindingClass.positional(@T1 t1, [@T1 t2]) {}
+  ArgumentsBindingClass.named(@T1 t1, {@T1 t2 = t1Default}) {}
 
-  factory ArgumentsBindingClass.fNamed(@T1 t1, {@T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(@T1 t1, {@T1 t2 = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(@T1 t1, [@T1 t2]) {
-    return new ArgumentsBindingClass.positional(t1, t2);
+  factory ArgumentsBindingClass.fPositional(@T1 t1, [@T1 t2 = t1Default]) {
+    return new ArgumentsBindingClass.named(t1, t2: t2);
   }
 
-  static namedArgumentsStaticMethod(@T1 t1, {@T1 t2}) {}
-  static positionalArgumentsStaticMethod(@T1 t1, [@T1 t2]) {}
+  static namedArgumentsStaticMethod(@T1 t1, {@T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(@T1 t1, [@T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(@T1 t1, {@T1 t2}) {}
-  positionalArgumentsMethod(@T1 t1, [@T1 t2]) {}
+  namedArgumentsMethod(@T1 t1, {@T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(@T1 t1, [@T1 t2 = t1Default]) {}
 
   set testSetter(@T1 val) {}
 }
@@ -40,18 +38,13 @@
 class ArgumentsBindingClassGen<X> {
   ArgumentsBindingClassGen(X t1) {}
 
-  ArgumentsBindingClassGen.named(X t1, {X t2}) {}
-  ArgumentsBindingClassGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingClassGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingClassGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingClassGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingClassGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClassGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingClassGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -96,14 +89,6 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClass.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClass.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClass.fNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
@@ -169,81 +154,30 @@
   //# <-- NotGenericFunctionType
   // Test generic functions
   Expect.throws(() {
-    namedArgumentsFunc2<@T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     namedArgumentsFunc2<@T1>(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    positionalArgumentsFunc2<@T1>(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    positionalArgumentsFunc2<@T1>(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
   // Test constructors
   Expect.throws(() {
     new ArgumentsBindingClassGen<@T1>(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>.named(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<@T1>.named(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>.positional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>.positional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>.fNamed(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<@T1>.fNamed(t1Instance, t2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>.fPositional(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>.fPositional(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
 
   // Test instance methods and setters
   Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>(t1Instance).namedArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<@T1>(t1Instance).namedArgumentsMethod(t1Instance,
     t2: forgetType(t0Instance));
     }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>(t1Instance).positionalArgumentsMethod(
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBindingClassGen<@T1>(t1Instance).positionalArgumentsMethod(t1Instance,
-    forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBindingClassGen<@T1>(t1Instance).testSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
   //# -->
diff --git a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x02.dart b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x02.dart
index c610691..9cfa60f 100644
--- a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x02.dart
@@ -12,14 +12,14 @@
 class ArgumentsBindingSuper1_t02 {
   @T1 m;
 
-  ArgumentsBindingSuper1_t02(@T1 value) {}
-  ArgumentsBindingSuper1_t02.named(@T1 value, {@T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(@T1 value, [@T1 val2]) {}
+  ArgumentsBindingSuper1_t02(@T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(@T1 value, {@T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(@T1 value, [@T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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) {}
 }
@@ -32,8 +32,6 @@
   ArgumentsBinding1_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding1_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding1_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -124,28 +122,21 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 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) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(dynamic t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
-  ArgumentsBinding2_t02.valid() : super(null) {}
-
   test() {
     Expect.throws(() {
       superTest(forgetType(t0Instance));
@@ -160,42 +151,6 @@
     }, (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);
 
@@ -204,10 +159,6 @@
     }, (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);
 
@@ -261,34 +212,34 @@
 
   // test class members
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestPositioned(t1Instance, forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestPositioned(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superTestNamed(t1Instance, val2: forgetType(t0Instance));
+    new ArgumentsBinding1_t02(t1Instance).superTestNamed(t1Instance, val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superSetter = forgetType(t0Instance);
+    new ArgumentsBinding1_t02(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding1_t02.valid().superGetter;
+    new ArgumentsBinding1_t02(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  new ArgumentsBinding1_t02.valid().test();
+  new ArgumentsBinding1_t02(t1Instance).test();
 
   // Test type parameters
 
@@ -299,54 +250,30 @@
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.c1(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<@T1>.c2(t1Instance, forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.c3(forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.c4(t1Instance, forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
     new ArgumentsBinding2_t02<@T1>.c5(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   // test generic class members
   Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.valid().superTest(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<@T1>(t1Instance).superTest(forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.valid().superTestPositioned(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<@T1>(t1Instance).superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.valid().superTestPositioned(forgetType(t1Instance), forgetType(t0Instance));
+    new ArgumentsBinding2_t02<@T1>(t1Instance).superSetter = forgetType(t0Instance);
   }, (e) => e is TypeError);
 
   Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.valid().superTestNamed(forgetType(t0Instance));
+    new ArgumentsBinding2_t02<@T1>(t1Instance).superGetter;
   }, (e) => e is TypeError);
 
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.valid().superTestNamed(forgetType(t1Instance), val2: forgetType(t0Instance));
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.valid().superSetter = forgetType(t0Instance);
-  }, (e) => e is TypeError);
-
-  Expect.throws(() {
-    new ArgumentsBinding2_t02<@T1>.valid().superGetter;
-  }, (e) => e is TypeError);
-
-  new ArgumentsBinding2_t02<@T1>.valid().test();
+  new ArgumentsBinding2_t02<@T1>(t1Instance).test();
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x03.dart b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x03.dart
index 457edce..565751c 100644
--- a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_fail_x03.dart
@@ -11,8 +11,8 @@
 
 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) {}
 }
@@ -108,8 +108,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/test_cases/arguments_binding_x01.dart b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x01.dart
index a10b910..e20017c 100644
--- a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x01.dart
+++ b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x01.dart
@@ -8,31 +8,29 @@
  * of T0 can be be used as an argument of type T1
  * @author sgrekhov@unipro.ru
  */
+namedArgumentsFunc1(@T1 t1, {@T1 t2 = t1Default}) {}
+positionalArgumentsFunc1(@T1 t1, [@T1 t2 = t1Default]) {}
 
-namedArgumentsFunc1(@T1 t1, {@T1 t2}) {}
-positionalArgumentsFunc1(@T1 t1, [@T1 t2]) {}
-
-namedArgumentsFunc2<X>(X t1, {X t2}) {}
-positionalArgumentsFunc2<X>(X t1, [X t2]) {}
+namedArgumentsFunc2<X>(X t1, {required X t2}) {}
 
 class ArgumentsBindingClass {
   ArgumentsBindingClass(@T1 t1) {}
 
-  ArgumentsBindingClass.named(@T1 t1, {@T1 t2}) {}
-  ArgumentsBindingClass.positional(@T1 t1, [@T1 t2]) {}
+  ArgumentsBindingClass.named(@T1 t1, {@T1 t2 = t1Default}) {}
+  ArgumentsBindingClass.positional(@T1 t1, [@T1 t2 = t1Default]) {}
 
-  factory ArgumentsBindingClass.fNamed(@T1 t1, {@T1 t2}) {
+  factory ArgumentsBindingClass.fNamed(@T1 t1, {@T1 t2  = t1Default}) {
     return new ArgumentsBindingClass.named(t1, t2: t2);
   }
-  factory ArgumentsBindingClass.fPositional(@T1 t1, [@T1 t2]) {
+  factory ArgumentsBindingClass.fPositional(@T1 t1, [@T1 t2 = t1Default]) {
     return new ArgumentsBindingClass.positional(t1, t2);
   }
 
-  static namedArgumentsStaticMethod(@T1 t1, {@T1 t2}) {}
-  static positionalArgumentsStaticMethod(@T1 t1, [@T1 t2]) {}
+  static namedArgumentsStaticMethod(@T1 t1, {@T1 t2 = t1Default}) {}
+  static positionalArgumentsStaticMethod(@T1 t1, [@T1 t2 = t1Default]) {}
 
-  namedArgumentsMethod(@T1 t1, {@T1 t2}) {}
-  positionalArgumentsMethod(@T1 t1, [@T1 t2]) {}
+  namedArgumentsMethod(@T1 t1, {@T1 t2 = t1Default}) {}
+  positionalArgumentsMethod(@T1 t1, [@T1 t2 = t1Default]) {}
 
   set testSetter(@T1 val) {}
 }
@@ -40,18 +38,13 @@
 class ArgumentsBindingGen<X>  {
   ArgumentsBindingGen(X t1) {}
 
-  ArgumentsBindingGen.named(X t1, {X t2}) {}
-  ArgumentsBindingGen.positional(X t1, [X t2]) {}
+  ArgumentsBindingGen.named(X t1, {required X t2}) {}
 
-  factory ArgumentsBindingGen.fNamed(X t1, {X t2}) {
+  factory ArgumentsBindingGen.fNamed(X t1, {required X t2}) {
     return new ArgumentsBindingGen.named(t1, t2: t2);
   }
-  factory ArgumentsBindingGen.fPositional(X t1, [X t2]) {
-    return new ArgumentsBindingGen.positional(t1, t2);
-  }
 
-  namedArgumentsMethod(X t1, {X t2}) {}
-  positionalArgumentsMethod(X t1, [X t2]){}
+  namedArgumentsMethod(X t1, {required X t2}) {}
 
   set testSetter(X val) {}
 }
@@ -66,8 +59,6 @@
       new ArgumentsBindingClass(forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance1 = new ArgumentsBindingClass.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
   instance1 = new ArgumentsBindingClass.positional(forgetType(t0Instance),
@@ -91,25 +82,18 @@
   //# <-- NotGenericFunctionType
   // test generic functions
   namedArgumentsFunc2<@T1>(forgetType(t0Instance), t2: forgetType(t0Instance));
-  positionalArgumentsFunc2<@T1>(forgetType(t0Instance), forgetType(t0Instance));
 
   // test generic class constructors
   ArgumentsBindingGen<@T1> instance2 =
       new ArgumentsBindingGen<@T1>(forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<@T1>.fNamed(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<@T1>.fPositional(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2 = new ArgumentsBindingGen<@T1>.named(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2 = new ArgumentsBindingGen<@T1>.positional(forgetType(t0Instance),
-      forgetType(t0Instance));
 
   // test generic class methods and setters
   instance2.namedArgumentsMethod(forgetType(t0Instance),
       t2: forgetType(t0Instance));
-  instance2.positionalArgumentsMethod(forgetType(t0Instance),
-      forgetType(t0Instance));
   instance2.testSetter = forgetType(t0Instance);
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x02.dart b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x02.dart
index 52045fc..26e4ca2 100644
--- a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x02.dart
+++ b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x02.dart
@@ -12,21 +12,20 @@
 class ArgumentsBindingSuper1_t02 {
   @T1 m;
 
-  ArgumentsBindingSuper1_t02(@T1 value) {}
-  ArgumentsBindingSuper1_t02.named(@T1 value, {@T1 val2}) {}
-  ArgumentsBindingSuper1_t02.positional(@T1 value, [@T1 val2]) {}
+  ArgumentsBindingSuper1_t02(@T1 value): m = value {}
+  ArgumentsBindingSuper1_t02.named(@T1 value, {@T1 val2 = t1Default}): m = value {}
+  ArgumentsBindingSuper1_t02.positional(@T1 value, [@T1 val2 = t1Default]): m = value {}
   ArgumentsBindingSuper1_t02.short(this.m);
 
   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 => m;
   void set superSetter(@T1 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) {}
@@ -47,31 +46,23 @@
 class ArgumentsBindingSuper2_t02<X> {
   X m;
 
-  ArgumentsBindingSuper2_t02(X value) {}
-  ArgumentsBindingSuper2_t02.named(X value, {X val2}) {}
-  ArgumentsBindingSuper2_t02.positional(X value, [X val2]) {}
+  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 superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
+  void superTestNamed(X val, {required X val2}) {}
   X get superGetter => m;
   void set superSetter(X val) {}
 }
 
 class ArgumentsBinding2_t02<X> extends ArgumentsBindingSuper2_t02<X> {
   ArgumentsBinding2_t02(X t1) : super(t1) {}
-  ArgumentsBinding2_t02.c1(dynamic t1) : super.named(t1) {}
   ArgumentsBinding2_t02.c2(dynamic t1, dynamic t2) : super.named(t1, val2: t2) {}
-  ArgumentsBinding2_t02.c3(dynamic t1) : super.positional(t1) {}
-  ArgumentsBinding2_t02.c4(dynamic t1, dynamic t2) : super.positional(t1, t2) {}
   ArgumentsBinding2_t02.c5(dynamic t1) : super.short(t1) {}
 
   test(X t1, X t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
     m = t1;
@@ -81,7 +72,6 @@
 
 main() {
   ArgumentsBinding1_t02 c1 = new ArgumentsBinding1_t02(forgetType(t0Instance));
-  c1 = new ArgumentsBinding1_t02.c1(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c2(t1Instance, forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c3(forgetType(t0Instance));
   c1 = new ArgumentsBinding1_t02.c4(t1Instance, forgetType(t0Instance));
@@ -101,17 +91,11 @@
   //# <-- NotGenericFunctionType
   ArgumentsBinding2_t02<@T1> c2 =
     new ArgumentsBinding2_t02<@T1>(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<@T1>.c1(forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<@T1>.c2(t1Instance, forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<@T1>.c3(forgetType(t0Instance));
-  c2 = new ArgumentsBinding2_t02<@T1>.c4(t1Instance, forgetType(t0Instance));
   c2 = new ArgumentsBinding2_t02<@T1>.c5(forgetType(t0Instance));
 
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
   c2.superGetter;
diff --git a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x03.dart b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x03.dart
index 164c842..2f189fe 100644
--- a/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x03.dart
+++ b/LanguageFeatures/Subtyping/dynamic/test_cases/arguments_binding_x03.dart
@@ -10,11 +10,11 @@
  */
 
 class ArgumentsBindingMixin1_t03 {
-  @T1 m;
+  @T1 m = t1Default;
 
   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 => m;
   void set superSetter(@T1 val) {}
 }
@@ -34,12 +34,8 @@
 }
 
 class ArgumentsBindingMixin2_t03<X> {
-  X m;
-
   void superTest(X val) {}
-  void superTestPositioned(X val, [X val2]) {}
-  void superTestNamed(X val, {X val2}) {}
-  X get superGetter => m;
+  void superTestNamed(X val, {required X val2}) {}
   void set superSetter(X val) {}
 }
 
@@ -47,13 +43,8 @@
 
   test(dynamic t1, dynamic t2) {
     superTest(t1);
-    superTestPositioned(t1);
-    superTestPositioned(t2, t1);
-    superTestNamed(t1);
     superTestNamed(t2, val2: t1);
     superSetter = t1;
-    m = t1;
-    superGetter;
   }
 }
 
@@ -75,11 +66,7 @@
   ArgumentsBinding2_t03<@T1> c2 = new ArgumentsBinding2_t03<@T1>();
   c2.test(forgetType(t0Instance), t1Instance);
   c2.superTest(forgetType(t0Instance));
-  c2.superTestPositioned(forgetType(t0Instance));
-  c2.superTestPositioned(t1Instance, forgetType(t0Instance));
-  c2.superTestNamed(forgetType(t0Instance));
   c2.superTestNamed(t1Instance, val2: forgetType(t0Instance));
   c2.superSetter = forgetType(t0Instance);
-  c2.superGetter;
   //# -->
 }
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t01.dart
index 9bd29c5..acc11dd 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t01.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t02.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t02.dart
index 59803ef..c5bf76a 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t02.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t03.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t03.dart
index a136777..87591d7 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_arguments_binding_A01_t03.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t01.dart
index ad6d272..aa48bbb 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t01.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t02.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t02.dart
index 30ac284..67e099b 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t02.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t02.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t03.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t03.dart
index 1173152..64b1269 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t03.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_class_member_A01_t03.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_global_variable_A01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_global_variable_A01_t01.dart
index 69a35f5..8465903 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_global_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_global_variable_A01_t01.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_local_variable_A01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_local_variable_A01_t01.dart
index 59298f9..d32a0e7 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_local_variable_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_local_variable_A01_t01.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_Object_return_value_A01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_Object_return_value_A01_t01.dart
index d35c2e0..b4e431e 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_Object_return_value_A01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_Object_return_value_A01_t01.dart
@@ -39,6 +39,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A01_t01.dart
similarity index 98%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A01_t01.dart
index 59542d1..22bf1d9 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A01_t01.dart
@@ -27,7 +27,7 @@
  * @author sgrekhov@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A02_t01.dart
similarity index 98%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A02_t01.dart
index 0fab560..2708581 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A02_t01.dart
@@ -27,7 +27,7 @@
  * @author sgrekhov@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A03_t01.dart
index e1e1206..5307039 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_fail_A03_t01.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_mixin_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A01_t01.dart
similarity index 97%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_mixin_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A01_t01.dart
index 41ea9fc..6c1b31e 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_mixin_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A01_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_fail_A01.dart and 
  * arguments_binding_mixin_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_mixin_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A02_t01.dart
similarity index 97%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_mixin_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A02_t01.dart
index f1e473b..78b4c45 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_mixin_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A02_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.dart and 
  * arguments_binding_mixin_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A03_t01.dart
index fb6b3fe..c576732 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_mixin_fail_A03_t01.dart
@@ -43,6 +43,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_super_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A01_t01.dart
similarity index 98%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_super_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A01_t01.dart
index e7ef21f..ce69a5e 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_arguments_binding_super_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A01_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_fail_A01.dart and 
  * arguments_binding_super_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_super_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A02_t01.dart
similarity index 98%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_super_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A02_t01.dart
index cf1900d..3586bfb 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_arguments_binding_super_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A02_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.dart and 
  * arguments_binding_super_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A03_t01.dart
index 47bd9fc..6a929fe 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_arguments_binding_super_fail_A03_t01.dart
@@ -43,6 +43,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A01_t01.dart
similarity index 97%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A01_t01.dart
index 8d2207b..fe137cb 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A01_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A02_t01.dart
similarity index 97%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A02_t01.dart
index a2bfad1..4234ccb 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A02_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A03_t01.dart
index 519146b..035b6e0 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_fail_A03_t01.dart
@@ -43,6 +43,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_mixin_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A01_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_mixin_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A01_t01.dart
index df12ffc..9629f35 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_mixin_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A01_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_fail_A01.dart and 
  * class_member_mixin_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_mixin_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A02_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_mixin_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A02_t01.dart
index cbb605c..5c57d36 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_mixin_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A02_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.dart and 
  * class_member_mixin_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A03_t01.dart
index 3c461d1..c14cbf1 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_mixin_fail_A03_t01.dart
@@ -43,6 +43,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_super_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A01_t01.dart
similarity index 97%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_super_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A01_t01.dart
index 0937d1a..03d8208 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_class_member_super_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A01_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_fail_A01.dart and 
  * class_member_super_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_super_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A02_t01.dart
similarity index 97%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_super_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A02_t01.dart
index befe7c2..561e26a 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_class_member_super_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A02_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.dart and 
  * class_member_super_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A03_t01.dart
index a0b0bf0..185282d 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_class_member_super_fail_A03_t01.dart
@@ -43,6 +43,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_global_variable_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A01_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_global_variable_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A01_t01.dart
index 891556f..cf3cc19 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_global_variable_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A01_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_global_variable_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A02_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_global_variable_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A02_t01.dart
index ceb08b2..46c43d1 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_global_variable_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A02_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A03_t01.dart
index 670ec85..1778309 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_global_variable_fail_A03_t01.dart
@@ -43,6 +43,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_local_variable_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A01_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_local_variable_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A01_t01.dart
index b55a0ff..c364c02 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_local_variable_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A01_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_local_variable_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A02_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_local_variable_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A02_t01.dart
index 286532a..2d42336 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_local_variable_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A02_t01.dart
@@ -28,7 +28,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A03_t01.dart
index 6ee0b23..a196908 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_local_variable_fail_A03_t01.dart
@@ -43,6 +43,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_return_value_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A01_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_return_value_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A01_t01.dart
index 1b572bb..424e8cf 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A01_return_value_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A01_t01.dart
@@ -27,7 +27,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A01_t01.dart and 
+ * This test is generated from right_object_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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_return_value_fail_t01_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A02_t01.dart
similarity index 96%
rename from LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_return_value_fail_t01_t01.dart
rename to LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A02_t01.dart
index 2b0d8d3..7e49c52 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_A02_return_value_fail_t01_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A02_t01.dart
@@ -27,7 +27,7 @@
  * @author ngl@unipro.ru
  */
 /*
- * This test is generated from right_object_fail_A02_t01.dart and 
+ * This test is generated from right_object_fail_A02.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.
diff --git a/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A03_t01.dart b/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A03_t01.dart
index 2adb55b..c46b9fd 100644
--- a/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A03_t01.dart
+++ b/LanguageFeatures/Subtyping/static/generated/right_object_fail_return_value_fail_A03_t01.dart
@@ -42,6 +42,8 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 
 
 
diff --git a/LanguageFeatures/Subtyping/static/test_types/right_object_fail_A01_t01.dart b/LanguageFeatures/Subtyping/static/test_types/right_object_fail_A01.dart
similarity index 100%
rename from LanguageFeatures/Subtyping/static/test_types/right_object_fail_A01_t01.dart
rename to LanguageFeatures/Subtyping/static/test_types/right_object_fail_A01.dart
diff --git a/LanguageFeatures/Subtyping/static/test_types/right_object_fail_A02_t01.dart b/LanguageFeatures/Subtyping/static/test_types/right_object_fail_A02.dart
similarity index 100%
rename from LanguageFeatures/Subtyping/static/test_types/right_object_fail_A02_t01.dart
rename to LanguageFeatures/Subtyping/static/test_types/right_object_fail_A02.dart
diff --git a/LanguageFeatures/Subtyping/test_types/right_object_A01.dart b/LanguageFeatures/Subtyping/test_types/right_object_A01.dart
index 512c83a..46c6903 100644
--- a/LanguageFeatures/Subtyping/test_types/right_object_A01.dart
+++ b/LanguageFeatures/Subtyping/test_types/right_object_A01.dart
@@ -26,6 +26,8 @@
 T0 t0Instance = new T0();
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 //# @T0 = T0
 //# @T1 = Object
 
diff --git a/LanguageFeatures/Subtyping/test_types/right_object_fail_A03.dart b/LanguageFeatures/Subtyping/test_types/right_object_fail_A03.dart
index 7c4d530..a2a6a69 100644
--- a/LanguageFeatures/Subtyping/test_types/right_object_fail_A03.dart
+++ b/LanguageFeatures/Subtyping/test_types/right_object_fail_A03.dart
@@ -27,5 +27,7 @@
 FutureOr<S?> t0Instance = new Future.value(new S());
 Object t1Instance = new Object();
 
+const t1Default = const Object();
+
 //# @T0 = FutureOr<S?>
 //# @T1 = Object