class Class<T> {}

class ConcreteClass implements Class<ConcreteClass> {}

typedef F<X extends Class<X>> = X;

class G<X extends Class<X>> {}

void method1(
  F t1,
  F<dynamic> t2,
  F<Class> t3,
  F<Class<dynamic>> t4,
  F<ConcreteClass> t5,
  F<Class<ConcreteClass>> t6,
  F<Object> t7,
  F<int> t8, {
  required G s1,
  required G<dynamic> s2,
  required G<Class> s3,
  required G<Class<dynamic>> s4,
  required G<ConcreteClass> s5,
  required G<Class<ConcreteClass>> s6,
  required G<Object> s7,
  required G<int> s8,
}) {}

class Class1 {
  Class1(
    F t1,
    F<dynamic> t2,
    F<Class> t3,
    F<Class<dynamic>> t4,
    F<ConcreteClass> t5,
    F<Class<ConcreteClass>> t6,
    F<Object> t7,
    F<int> t8, {
    required G s1,
    required G<dynamic> s2,
    required G<Class> s3,
    required G<Class<dynamic>> s4,
    required G<ConcreteClass> s5,
    required G<Class<ConcreteClass>> s6,
    required G<Object> s7,
    required G<int> s8,
  });
  void method2(
    F t1,
    F<dynamic> t2,
    F<Class> t3,
    F<Class<dynamic>> t4,
    F<ConcreteClass> t5,
    F<Class<ConcreteClass>> t6,
    F<Object> t7,
    F<int> t8, {
    required G s1,
    required G<dynamic> s2,
    required G<Class> s3,
    required G<Class<dynamic>> s4,
    required G<ConcreteClass> s5,
    required G<Class<ConcreteClass>> s6,
    required G<Object> s7,
    required G<int> s8,
  }) {}
}

extension Extension1 on int {
  void method3(
    F t1,
    F<dynamic> t2,
    F<Class> t3,
    F<Class<dynamic>> t4,
    F<ConcreteClass> t5,
    F<Class<ConcreteClass>> t6,
    F<Object> t7,
    F<int> t8, {
    required G s1,
    required G<dynamic> s2,
    required G<Class> s3,
    required G<Class<dynamic>> s4,
    required G<ConcreteClass> s5,
    required G<Class<ConcreteClass>> s6,
    required G<Object> s7,
    required G<int> s8,
  }) {}
}

main() {}
