When to activate: TypeScript, type safety, generics, utility types, strict mode, type narrowing, discriminated unions, branded types