Sealed class ogranicza, które klasy mogą ją dziedziczyć/implementować (`permits`). Dzięki temu hierarchia jest jawna i można pisać wyczerpujące `switch`. To przydatne do modelowania zamkniętych zestawów wariantów.