One shortcoming (though it's nice that Python has this) of this is that this isn't checked for exhaustiveness by the compiler (because there isn't a Python one) which makes it easy to forget cases and introduce bugs.
Not sure if there are any runtime checks for this?
Not sure if there are any runtime checks for this?