class A<X extends int> {}

class B {
  A<num>? fieldOfA;
  static A<num>? staticFieldOfA;
}

extension E<X extends A<num>> on A {
  static A<num>? fieldOfE;
  A<num>? fooOfE() => null;
  void barOfE(A<num> a) {}
  void bazOfE<Y extends A<num>>() {}
}

main() {}
