class A<T> {
  A();
  A.named();
  factory A.fact() => new A();
  factory A.redirect() = A;
}

typedef B<T extends num> = A<T>;
test() {}
main() {}
