Keep in mind that pattern matching can be dangerous. Change something and suddenly your code could be flowing in new unexpected ways without notifying you with a runtime error. I like pattern matching too but it has bitten me
Sure, but that's the same issue you have in a dynamic language anytime you use an if statement, or a switch statement.