Distinguish between "type" terms.
The term “type” is overloaded, encompassing several distinct meanings. 1) Machine type describes the primitive storage format of a value. 2) (Algebraic) data type is a composite of other types, typically represented as product types (e.g., records) or sum types. Finally, 3) Behavior type describes a state along with operations on that state, often incorrectly implemented as classes.