// @dart = 2.13
T Function(T) create<T>() => id;
T id<T>(T t) => t;
const int Function(int) implicitConstInstantiation = id;
expect(expected, actual) {}
int Function(int) implicitInstantiation = id;
main() {}
