|  | Function<Z extends A>() bar3() => throw 42; | 
|  |  | 
|  | Function<Z extends A>() bar6 = (() => throw 42)(); | 
|  |  | 
|  | Function<Z extends A>() get bar4 => throw 42; | 
|  |  | 
|  | bar2(Function<Z extends A>() a) {} | 
|  |  | 
|  | class A<X extends A<X>> {} | 
|  |  | 
|  | class B { | 
|  | B(Function<Z extends A>() a); | 
|  | Function<Z extends A>() foo3() => throw 42; | 
|  | Function<Z extends A>() foo6 = (() => throw 42)(); | 
|  | Function<Z extends A>() get foo4 => throw 42; | 
|  | factory B.foo(Function<Z extends A>() a) => new B(a); | 
|  | foo2(Function<Z extends A>() a) {} | 
|  | void set foo5(Function<Z extends A>() a) {} | 
|  | } | 
|  |  | 
|  | extension E on int { | 
|  | Function<Z extends A>() baz3() => throw 42; | 
|  | Function<Z extends A>() get baz4 => throw 42; | 
|  | baz2(Function<Z extends A>() a) {} | 
|  | static Function<Z extends A>() baz6 = (() => throw 42)(); | 
|  | void set baz5(Function<Z extends A>() a) {} | 
|  | } | 
|  |  | 
|  | main() {} | 
|  |  | 
|  | typedef F = Function<Y extends A>(); | 
|  |  | 
|  | void set bar5(Function<Z extends A>() a) {} |