Simplify the interaction between generics and implementations.