A<X> Function<X>(X) bar1() => A.foo1;
A<X> Function<X>(X) bar2() => A.foo2;

class A<X> {
  A.foo1(X x) {}
  A.foo2(X x, int y) {}
}

main() {}
