Pattern matching is awesome, and ML definitely gets the credit here for putting it into practice, but matching is arguably not even part of the functional paradigm.  Lots of non-functional languages could <i>greatly</i> benefit from pattern matching and sum types.<p>And indeed, when you look at a language like Nim and Swift, that&#x27;s exactly what happened.  Rust, too, although Rust is arguably a functional language.