Type abstraction.