A new variant forces the code to be updated everywhere that must handle it.
When a sealed hierarchy grows, exhaustive switches and pattern matches stop compiling until the new case is handled. That makes model evolution visible instead of silently incomplete.