Tipo unione
Un tipo che può essere uno tra diversi: string | number | null.
Presente in TypeScript, Python (con | dalla 3.10), Rust (come varianti di enum) e Swift. Obbliga il compilatore a controlli esaustivi. Un'unione discriminata è un'unione in cui ogni variante ha un campo etichetta, il che rende sicuro il pattern matching: è il cuore delle macchine a stati «type-safe».