Refactoring type parameters a bit.