TypeScript 2 TypeScript: Exhaustiveness Checking May 22, 2025 Structural type system in TypeScript Oct 26, 2024