| Index: tests/language/function_type/function_type66_test.dart | 
| diff --git a/tests/language/function_type/function_type66_test.dart b/tests/language/function_type/function_type66_test.dart | 
| index b6d08f6b9cf8ded09b52b062c443eaa75c1c0828..a2eec70e364100848adf0aedbd6fff45c1bd0dc3 100644 | 
| --- a/tests/language/function_type/function_type66_test.dart | 
| +++ b/tests/language/function_type/function_type66_test.dart | 
| @@ -19,63 +19,40 @@ import 'package:expect/expect.dart'; | 
| @AssumeDynamic() | 
| confuse(f) => f; | 
|  | 
| -final bool inCheckedMode = (() { | 
| -  bool result = false; | 
| -  assert(result = true); | 
| -  return result; | 
| -})(); | 
| - | 
| -typedef F0<T> | 
| -    = Function Function(int y, {int x}); | 
| -typedef F1<T> | 
| -    = List<Function> Function(int y, {List<T> x}); | 
| -typedef F2<T> | 
| -    = List<T> Function(int x0, {core.List<core.int> x}); | 
| -typedef F3<T> | 
| -    = void Function({List<Function> x}); | 
| -typedef F4<T> | 
| -    = int Function(int x) Function<B extends core.int>(); | 
| -typedef F5<T> | 
| -    = int Function(int y, [List<Function> x]) Function<B extends core.int>(); | 
| -typedef F6<T> | 
| -    = int Function(int x2, [List<T> x3]) Function<B extends core.int>(); | 
| -typedef F7<T> | 
| -    = Function Function({Function x}) Function<B extends core.int>(); | 
| -typedef F8<T> | 
| -    = Function Function(List<T> x) Function<B extends core.int>(); | 
| -typedef F9<T> | 
| -    = List<Function> Function(int x1, | 
| -        [Function x]) Function<B extends core.int>(); | 
| -typedef F10<T> | 
| -    = List<Function> Function( | 
| -        [core.List<core.int> x1]) Function<B extends core.int>(); | 
| -typedef F11<T> | 
| -    = core.List<core.int> Function(int x, | 
| -        [int x1]) Function<B extends core.int>(); | 
| -typedef F12<T> | 
| -    = core.List<core.int> Function(int y, | 
| -        {List<Function> x}) Function<B extends core.int>(); | 
| -typedef F13<T> | 
| -    = List<T> Function([int x]) Function<B extends core.int>(); | 
| -typedef F14<T> | 
| -    = List<T> Function(List<Function> x1) Function<B extends core.int>(); | 
| -typedef F15<T> | 
| -    = List<T> Function(int x, [List<T> x1]) Function<B extends core.int>(); | 
| -typedef F16<T> | 
| -    = Function(int x1, {Function x}) Function<B extends core.int>(); | 
| -typedef F17<T> | 
| -    = Function([List<T> x]) Function<B extends core.int>(); | 
| -typedef F18<T> | 
| -    = void Function(int y, [Function x]) Function<B extends core.int>(); | 
| -typedef F19<T> | 
| -    = void Function(int x2, | 
| -        [core.List<core.int> x3]) Function<B extends core.int>(); | 
| -typedef F20<T> | 
| -    = Function Function<A>(int x) Function<B extends core.int>(); | 
| -typedef F21<T> | 
| -    = List<T> Function<A>(Function x) Function<B extends core.int>(); | 
| -typedef F22<T> | 
| -    = List<A> Function<A>(List<Function> x) Function<B extends core.int>(); | 
| +typedef F0<T> = Function Function(int y, {int x}); | 
| +typedef F1<T> = List<Function> Function(int y, {List<T> x}); | 
| +typedef F2<T> = List<T> Function(int x0, {core.List<core.int> x}); | 
| +typedef F3<T> = void Function({List<Function> x}); | 
| +typedef F4<T> = int Function(int x) Function<B extends core.int>(); | 
| +typedef F5<T> = int Function(int y, [List<Function> x]) | 
| +    Function<B extends core.int>(); | 
| +typedef F6<T> = int Function(int x2, [List<T> x3]) | 
| +    Function<B extends core.int>(); | 
| +typedef F7<T> = Function Function({Function x}) Function<B extends core.int>(); | 
| +typedef F8<T> = Function Function(List<T> x) Function<B extends core.int>(); | 
| +typedef F9<T> = List<Function> Function(int x1, [Function x]) | 
| +    Function<B extends core.int>(); | 
| +typedef F10<T> = List<Function> Function([core.List<core.int> x1]) | 
| +    Function<B extends core.int>(); | 
| +typedef F11<T> = core.List<core.int> Function(int x, [int x1]) | 
| +    Function<B extends core.int>(); | 
| +typedef F12<T> = core.List<core.int> Function(int y, {List<Function> x}) | 
| +    Function<B extends core.int>(); | 
| +typedef F13<T> = List<T> Function([int x]) Function<B extends core.int>(); | 
| +typedef F14<T> = List<T> Function(List<Function> x1) | 
| +    Function<B extends core.int>(); | 
| +typedef F15<T> = List<T> Function(int x, [List<T> x1]) | 
| +    Function<B extends core.int>(); | 
| +typedef F16<T> = Function(int x1, {Function x}) Function<B extends core.int>(); | 
| +typedef F17<T> = Function([List<T> x]) Function<B extends core.int>(); | 
| +typedef F18<T> = void Function(int y, [Function x]) | 
| +    Function<B extends core.int>(); | 
| +typedef F19<T> = void Function(int x2, [core.List<core.int> x3]) | 
| +    Function<B extends core.int>(); | 
| +typedef F20<T> = Function Function<A>(int x) Function<B extends core.int>(); | 
| +typedef F21<T> = List<T> Function<A>(Function x) Function<B extends core.int>(); | 
| +typedef F22<T> = List<A> Function<A>(List<Function> x) | 
| +    Function<B extends core.int>(); | 
|  | 
| Function f0(int y, {int x}) => null; | 
| List<Function> f1(int y, {List<int> x}) => null; | 
| @@ -120,12 +97,12 @@ class U66<T> { | 
| Function Function(List<T> x) Function<B extends core.int>() x8; | 
| List<Function> Function(int x1, [Function x]) Function<B extends core.int>() | 
| x9; | 
| -  List<Function> Function( | 
| -      [core.List<core.int> x1]) Function<B extends core.int>() x10; | 
| +  List<Function> Function([core.List<core.int> x1]) | 
| +      Function<B extends core.int>() x10; | 
| core.List<core.int> Function(int x, [int x1]) Function<B extends core.int>() | 
| x11; | 
| -  core.List<core.int> Function(int y, | 
| -      {List<Function> x}) Function<B extends core.int>() x12; | 
| +  core.List<core.int> Function(int y, {List<Function> x}) | 
| +      Function<B extends core.int>() x12; | 
| List<T> Function([int x]) Function<B extends core.int>() x13; | 
| List<T> Function(List<Function> x1) Function<B extends core.int>() x14; | 
| List<T> Function(int x, [List<T> x1]) Function<B extends core.int>() x15; | 
| @@ -250,7 +227,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m1 is F1<bool>); | 
| Expect.equals(tIsDynamic, confuse(m1) is F1<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x1 = (f1 as dynamic); | 
| }); | 
| @@ -302,7 +279,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m2 is F2<bool>); | 
| Expect.equals(tIsDynamic, confuse(m2) is F2<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x2 = (f2 as dynamic); | 
| }); | 
| @@ -387,8 +364,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m5 is F5); | 
| -    Expect.isTrue(m5 is int Function(int y, | 
| -        [List<Function> x]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m5 is int Function(int y, [List<Function> x]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m5) is F5); | 
| // In checked mode, verifies the type. | 
| x5 = m5; | 
| @@ -412,8 +389,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m6 is F6); | 
| -    Expect.isTrue(m6 is int Function(int x2, | 
| -        [List<T> x3]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m6 is int Function(int x2, [List<T> x3]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m6) is F6); | 
| // In checked mode, verifies the type. | 
| x6 = m6; | 
| @@ -428,7 +405,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m6 is F6<bool>); | 
| Expect.equals(tIsDynamic, confuse(m6) is F6<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x6 = (f6 as dynamic); | 
| }); | 
| @@ -506,7 +483,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m8 is F8<bool>); | 
| Expect.equals(tIsDynamic, confuse(m8) is F8<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x8 = (f8 as dynamic); | 
| }); | 
| @@ -544,8 +521,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m9 is F9); | 
| -    Expect.isTrue(m9 is List<Function> Function(int x1, | 
| -        [Function x]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m9 is List<Function> Function(int x1, [Function x]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m9) is F9); | 
| // In checked mode, verifies the type. | 
| x9 = m9; | 
| @@ -559,8 +536,8 @@ class U66<T> { | 
| Expect.isTrue(f10 is F10); | 
| Expect.isTrue(confuse(f10) is F10); | 
| // In checked mode, verifies the type. | 
| -    List<Function> Function( | 
| -        [core.List<core.int> x1]) Function<B extends core.int>() l10; | 
| +    List<Function> Function([core.List<core.int> x1]) | 
| +        Function<B extends core.int>() l10; | 
| // The static function f10 sets `T` to `int`. | 
| if (!tIsBool) { | 
| x10 = f10 as dynamic; | 
| @@ -570,8 +547,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m10 is F10); | 
| -    Expect.isTrue(m10 is List<Function> Function( | 
| -        [core.List<core.int> x1]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m10 is List<Function> Function([core.List<core.int> x1]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m10) is F10); | 
| // In checked mode, verifies the type. | 
| x10 = m10; | 
| @@ -596,8 +573,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m11 is F11); | 
| -    Expect.isTrue(m11 is core.List<core.int> Function(int x, | 
| -        [int x1]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m11 is core.List<core.int> Function(int x, [int x1]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m11) is F11); | 
| // In checked mode, verifies the type. | 
| x11 = m11; | 
| @@ -611,8 +588,8 @@ class U66<T> { | 
| Expect.isTrue(f12 is F12); | 
| Expect.isTrue(confuse(f12) is F12); | 
| // In checked mode, verifies the type. | 
| -    core.List<core.int> Function(int y, | 
| -        {List<Function> x}) Function<B extends core.int>() l12; | 
| +    core.List<core.int> Function(int y, {List<Function> x}) | 
| +        Function<B extends core.int>() l12; | 
| // The static function f12 sets `T` to `int`. | 
| if (!tIsBool) { | 
| x12 = f12 as dynamic; | 
| @@ -622,8 +599,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m12 is F12); | 
| -    Expect.isTrue(m12 is core.List<core.int> Function(int y, | 
| -        {List<Function> x}) Function<B extends core.int>()); | 
| +    Expect.isTrue(m12 is core.List<core.int> Function(int y, {List<Function> x}) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m12) is F12); | 
| // In checked mode, verifies the type. | 
| x12 = m12; | 
| @@ -663,7 +640,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m13 is F13<bool>); | 
| Expect.equals(tIsDynamic, confuse(m13) is F13<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x13 = (f13 as dynamic); | 
| }); | 
| @@ -700,8 +677,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m14 is F14); | 
| -    Expect.isTrue(m14 is List<T> Function( | 
| -        List<Function> x1) Function<B extends core.int>()); | 
| +    Expect.isTrue(m14 is List<T> Function(List<Function> x1) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m14) is F14); | 
| // In checked mode, verifies the type. | 
| x14 = m14; | 
| @@ -716,7 +693,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m14 is F14<bool>); | 
| Expect.equals(tIsDynamic, confuse(m14) is F14<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x14 = (f14 as dynamic); | 
| }); | 
| @@ -754,8 +731,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m15 is F15); | 
| -    Expect.isTrue(m15 is List<T> Function(int x, | 
| -        [List<T> x1]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m15 is List<T> Function(int x, [List<T> x1]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m15) is F15); | 
| // In checked mode, verifies the type. | 
| x15 = m15; | 
| @@ -770,7 +747,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m15 is F15<bool>); | 
| Expect.equals(tIsDynamic, confuse(m15) is F15<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x15 = (f15 as dynamic); | 
| }); | 
| @@ -849,7 +826,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m17 is F17<bool>); | 
| Expect.equals(tIsDynamic, confuse(m17) is F17<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x17 = (f17 as dynamic); | 
| }); | 
| @@ -886,8 +863,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m18 is F18); | 
| -    Expect.isTrue(m18 is void Function(int y, | 
| -        [Function x]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m18 is void Function(int y, [Function x]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m18) is F18); | 
| // In checked mode, verifies the type. | 
| x18 = m18; | 
| @@ -901,8 +878,8 @@ class U66<T> { | 
| Expect.isTrue(f19 is F19); | 
| Expect.isTrue(confuse(f19) is F19); | 
| // In checked mode, verifies the type. | 
| -    void Function(int x2, | 
| -        [core.List<core.int> x3]) Function<B extends core.int>() l19; | 
| +    void Function(int x2, [core.List<core.int> x3]) | 
| +        Function<B extends core.int>() l19; | 
| // The static function f19 sets `T` to `int`. | 
| if (!tIsBool) { | 
| x19 = f19 as dynamic; | 
| @@ -912,8 +889,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m19 is F19); | 
| -    Expect.isTrue(m19 is void Function(int x2, | 
| -        [core.List<core.int> x3]) Function<B extends core.int>()); | 
| +    Expect.isTrue(m19 is void Function(int x2, [core.List<core.int> x3]) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m19) is F19); | 
| // In checked mode, verifies the type. | 
| x19 = m19; | 
| @@ -978,7 +955,7 @@ class U66<T> { | 
| Expect.equals(tIsDynamic, m21 is F21<bool>); | 
| Expect.equals(tIsDynamic, confuse(m21) is F21<bool>); | 
| } else { | 
| -      if (inCheckedMode) { | 
| +      if (typeAssertionsEnabled) { | 
| Expect.throws(() { | 
| x21 = (f21 as dynamic); | 
| }); | 
| @@ -1015,8 +992,8 @@ class U66<T> { | 
| } | 
|  | 
| Expect.isTrue(m22 is F22); | 
| -    Expect.isTrue(m22 is List<A> Function<A>( | 
| -        List<Function> x) Function<B extends core.int>()); | 
| +    Expect.isTrue(m22 is List<A> Function<A>(List<Function> x) | 
| +        Function<B extends core.int>()); | 
| Expect.isTrue(confuse(m22) is F22); | 
| // In checked mode, verifies the type. | 
| x22 = m22; | 
|  |