T Function<T>(T) alias = id;
T id<T>(T t) => t;

class Class {
  T call<T>(T t) => t;
}

main() {}
method(int Function(int) f) {}
test() {}
