What's the purpose of type?