`when` może zwracać wartość (jest wyrażeniem). “Exhaustive” oznacza, że obsłużone są wszystkie możliwe przypadki, więc nie potrzebujesz `else`. Dla `enum` i `sealed class` kompilator potrafi to sprawdzić i zmusi Cię do obsłużenia nowych przypadków, gdy typ się rozbuduje.