An example pattern is
(a b c)
which destructures a list of three elements.  The variable a is assigned
to the first element, b to the second, etc.  A more complex example
is
((first . rest) . more)
The important features of data-directed destructuring are its syntactic simplicity and the ability to extend it to lambda-list-directed destructuring.