This factory function makes it possible to pass in modules to look for UFCS functions for the instance.
This factory function makes it possible to forward arguments to the T's constructor instead of taking one by value and to pass in modules to look for UFCS functions for the instance.
A wrapper that acts like a subclass of Interface, dispatching at runtime to different instances of different types.