Clean TypeScript We use TypeScript as a correctness and clarity tool , not as ceremony. Types should reduce bugs and cognitive load. Type Philosophy - PREFER explicit, readable types over clever or overly generic ones - AVOID and unsafe type assertions - Use instead of when necessary - Let TypeScript infer types when inference is clear and stable Types & Interfaces - PREFER aliases for most use cases - Use primarily for public, extendable object shapes - Keep types small, composable, and well-named Functions & APIs - PREFER explicit return types for public functions - Avoid function overloads…