abstract class Interface {
  String method(num i);
}

abstract class Interface2 {
  String method(covariant int i);
}

class C with A, B {}

class E with A, D {}

class G with A, F {}

main() {}

mixin A implements Interface {
  String method(num i, {String s = "hello"}) => s;
}

mixin B implements Interface {
  String method(num i);
}

mixin D implements Interface, Interface2 {}

mixin F implements Interface {}
