Build reusable, type-safe code with type parameters, constraints, keyof relationships, and generic classes.