Uniones discriminadas para flujos de estado
Modela estados mutuamente excluyentes con una clave discriminante explícita.
Estados como loading/success/error en peticiones son un caso clásico: cada estado exige campos distintos.
Con una propiedad discriminante (status), TypeScript estrecha automáticamente el tipo dentro de cada rama.
Esto elimina accessos inseguros a datos que aún no existen y evita validaciones repetitivas.