The power of Mathematica's pattern matching facilities is quite beyond
any lang out there, as far as i know. So, let's ignore Mathematica's
patterns for the moment because otherwise we'd be talking about
implementing Mathematica.
(note here: my main interest in this thread, as well as many others
recently, is just about adding Mathematica's list manipulating
functions to lisp, which is doable and practical. Adding Mathematica's
pattern matching to lisp would be too big a topic.)
The level spec in Mathematica is actually quite interesting.
When reading the doc site:
http://reference.wolfram.com/mathematica/ref/Cases.html
click on the “More Infomation” yellow box. It gives you details.
Here's few excerpt: