OO languages have a great deal of mechanism organized around the concept of class which is a variation of the types of earlier languages. The difference is that the class hides code and structure whereas the type hides nothing.

In Keykos the user defined behavior is available thru the start key that designates a domain. The domain obeys code provided by the definer of the behavior. The user of a start key may well suspect that it is a start key but all he really knows is that the right things happen when he invokes the key. Where OO languages have different methods which lead to different code in the code of the object, In Keykos the 32 bit order code, which is part of the message to the object, serves this purpose. Definer provided code in the object interprets this order code.

Objects that share behavior are said to be of the same type in Keykos. When a program wields a key by invoking it or passing it to another object, it generally needs some theory as to the nature of that key. There is no concept, or even place for a concept as compile time type theory as the system has no low level concept of compilation.

Polymorphism happens when two Keykos types share the same order codes with parallel meaning.