@miha-x64 I much prefer it with sealed classes because: 1) there's no possibility (however small it might be) of you reading the flag incorrectly and trying to extract a value from the wrong side, you just do an instanceof check and cast it, 2) smart-casting makes it way more fluent usually, 3) you get exhaustive `when`s