Sealed classes are much more than fancy enums. They are powerful composite types which can be useful in many ways. Common problems like exception handling and state representation become easier to manage with sealed classes. We will contrast traditional solutions, with modern ones using Kotlin.