Il costrutto che uso di più è la discriminated union. Invece di un oggetto con campi opzionali, definisco uno stato come unione di tipi con un campo `type` discriminante. TypeScript capisce quale forma ha l'oggetto in ogni branch — zero `as`, zero `!`.
Il `satisfies` operator è diventato parte del mio toolkit quotidiano. Mi permette di verificare che un valore soddisfi un tipo senza perdere il tipo inferito. Perfetto per configurazioni e oggetti costanti.
Const assertions con `as const` su oggetti e array: trasforma valori in tipi letterali e previene mutazioni accidentali. Quando combino `as const` con `satisfies`, ottengo tipi precisi senza sacrificare la type safety.