"Classes or data types may be intrinsic to a language, or may be user-defined." . . . . .