The Highest-Level Feature of C
prog21.dadgum.com
prog21.dadgum.com
http://caml.inria.fr/pub/docs/oreilly-book/html/book-ora016....
This enables you to match any nested enum/tuple/list/tree structures, and have the compiler check that you didn't forget a case. The modern compilers can even give you an exact example of a case you forgot to specify.
Compared to those possibilities, the high-praised polymorphism of OO languages appears to be little more than simple dispatching. (At least for simple OO languages. There are also very powerful and expressive object systems such as CLOS.)