B<num> bar4() => throw 42;
F<A<dynamic>, A<Never>> foo4a() => throw 42;
F foo4b() => throw 42;
bar1(B<num> x) {}
bar2<X extends B<num>>() {}
bar5({required B<num> x}) {}
bar6() {}
bar7([B<num>? x]) {}

class A<X> {}

class B<X extends int> {}

class Bar3<X extends B<num>> {}

class Bar8 extends B<dynamic> {}

class Foo3a<X extends F<A<dynamic>, A<Never>>> {}

class Foo3b<X extends F> {}

foo1a(F<A<dynamic>, A<Never>> x) {}
foo1b(F x) {}
foo2a<X extends F<A<dynamic>, A<Never>>>() {}
foo2b<X extends F>() {}
foo5a({required F<A<dynamic>, A<Never>> x}) {}
foo5b({required F x}) {}
foo6a() {}
foo6b() {}
foo7a([F<A<dynamic>, A<Never>>? x]) {}
foo7b([F? x]) {}
main() {}
typedef F<X extends A<X>, Y extends A<Y>> = X Function(Y);
