class Class extends Super implements Interface {
  void set setter1(int i);
  void set setter2(String i);
  void set setter3(int i);
  void set setter4(int i);
  void set setter5(num n);
}

class Interface {
  void set setter1(covariant int i) {}
  void set setter2(covariant int i) {}
  void set setter4(int i) {}
  void set setter5(int i) {}
}

class Super {
  void set setter1(num n) {}
  void set setter2(num n) {}
  void set setter3(num n) {}
  void set setter4(covariant num i) {}
  void set setter5(covariant int i) {}
}

main() {}
