import 'package:expect/expect.dart';

abstract class A<T> {
  A.empty();
  factory A() = B<T, List<T>>;
}

abstract class B<U, W> extends A<U> {
  B.empty() : super.empty();
  factory B() = C<U, W, Map<U, W>>;
}

class C<V, S, R> extends B<V, S> {
  C() : super.empty();
  toString() => "${V},${S},${R}";
}

main() {}
