In the following example (match '(1 2) ((a a ...) a) the sample implementation reports a match (and yields (2)). According to the spec, it should signal an error, instead. The pattern variable a is repeated. In the first instance, it is bound to 1; in the second instance, it would be bound to the list (2), which is clearly not equal? to 1.