Currently both factories and redirecting factories are represented as Procedures in Kernel. The latter has special bodies that encode the redirection information, that is, the target constructor and the type arguments. There's also a specialized subclass of Member to represent redirecting factories, namely RedirectingFactoryConstructor.
Now, some platform-specific patches to core libraries patch non-redirecting factories with redirecting factories. It does work currently, as both are represented as Procedures, but it doesn't work when we try to change the representation of redirecting factories to the specialized one.
The patching mechanism needs to be update to work in that case.