2. Types and Functions