What really hooked me on destructuring and argument pattern matching was a sophomore year lecture on red black trees in ML. The rotation function was implemented multiple times with different patterns matching the different local tree structures that needed rotating. Much much more elegant than any other implementation of that they I've ever seen.