4.1.3 Abstract Data Types (ADT)