Data Types
Elementary Data Types (BOOL, INT, REAL, STRING, etc.)
Generic Data Types
Derived (user) Data Types
Implicit Conversions For Elementary Types
Inference Rules For Overloaded Functions Selection