Un tipo discriminated union es un type-safe versión de las uniones de C.