Pattern matching makes deconstruction of values syntactically and structurally intrinsically tied to their construction. To deconstruct something, you describe how it was constructed. Simultaneous addition of bindings where you want em (and _ where you don't care) just adds concision to beauty. Add to that the fact you can never forget to check the tag as in C, and sum types are the biggest win since sliced bread. Only vacuously skulled imperative simians couldn't understand that and cling to their ugly, prehistoric nested ifs and ``accessor'' functions.