• 1.2: Generic Programming and Late-Definition of Data Types