extension E<U> on String {
  U field1 = null;
  int field2 = () { U x = null; return null; }();
  List<U> field3 = null;
  U Function(U) field4 = null;
  List<U> Function(List<U>) field5 = null;
  int field6 = <E>() { E x = null; return null; }<String>();
  int field7 = <E>() { E x = null; return null; }<U>();
}
main() {}
