||Array types represent Java arrays, both primitive and object valued.
||Key class, used as an efficient and accurate key
for locating per-class values, such as
||Type that represents Java Collection types (Lists, Sets).
||Type that represents Java Map types.
||Simple types are defined as anything other than one of recognized
container types (arrays, Collections, Maps).
||Class that knows how construct
given various inputs.