In redirecting factories, type arguments are not inferred on redirectees. For example, the current implementation does not infer T on B below
class A<T> {
factory A() = B; // Should infer B<T>.
}
class B<T> implements A<T> {
B();
}
Instead it "infers" B<dynamic> (it doesn't really infer, hence the quotes, c.f. the responsible code).