(car x) == (first x)
(car nil) => NIL
Shouldn't they say, for example:
(eq (car x) (first x))
Sure, it's the same, both imply a test for equality or in this case an assertion of equality. However, '==' is not part of this language and there is reason to use it other than the alternative is less obvious and clear.