class A<X extends A<X>?> {}

class D<X extends num> {}

extension Extension1<X extends A<X>?> on A<X> {
  void method1<Y extends A<Y>?>(A<Y> a, A<A<Null>>? b) {}
  void method2<Y extends String>(D<Y> a, D<String>? b) {}
}

extension ext2<X extends A<Null>?> on A<X> {}

class B<X extends A<Null>?> implements A<X> {
  void method1<Y extends A<Null>?>(A<Y> a, A<A<Null>>? b) {}
  void method2<Y extends String>(D<Y> a, D<String>? b) {}
}

class C {
  factory C.redirect(A<A<Null>>? a) = C.internal;
  factory C.fact(A<A<Null>>? a) {}
  C.internal(_) {}
}

test() {}
main() {}
