TypeScript Advanced Generics with Constraints Conditional Types Mapped Types Discriminated Unions Type Guards Utility Type Combinations Anti-Patterns - Using instead of for values of uncertain type - Type assertions ( ) when a type guard would be safer - Overly complex generic signatures that reduce readability - Not using discriminated unions for state machines or result types - Using when a union of string literals suffices - Ignoring in tsconfig Checklist - [ ] enabled in tsconfig - [ ] used instead of for external data - [ ] Type guards validate runtime types safely - [ ] Discriminated un…