Actually, do we really want `type` as a name? It is a keyword in many languages (like let's say... python).