Enum
Typ, który przyjmuje tylko jedną z ustalonych, nazwanych wartości: Status = OPEN | CLOSED | PENDING.
Lepszy niż „magiczne napisy” czy liczby: kompilator może sprawdzić, czy obsłużono każdy przypadek. Enumy w Rust i TypeScript są szczególnie potężne (mogą nieść dodatkowe dane). W bazach danych: kolumny ENUM albo osobna tabela.