typedef Foo<S> = S Function<T>(T x);
int foo<T>(T x) => 3;
Foo<int> bar() => foo;
void test1() {}

class A {
  Foo<int> f = throw '';
  void test() {}
}

main() {}
