library test;

F<num> g1(C<num> c) {}
G<List<num>, num> g3(C<num> c) {}

class C<T> {
  T f2(List<T> x) => x.first;
  void f1(T x) {}
}

main() {}
typedef U G<T, U>(T x);
typedef void F<T>(T x);
void g2(C<int> c, Object x) {}
void test() {}
