In fact, "=" is actually a fancy macro, which transforms (= (car x) 'z) into (scar x 'z), where "scar" is the set-car function.

For example:

arc> (= x '(a b c)) (a b c) arc> (= (car x) 'new) new arc> x (new b c)

arc> (= (car (cdr x)) 'second) second arc> x (new second c) arc> (= (car (cdr (cdr x))) 'third) third arc> x (new second third)

(scar (cdr x) 'second)

(scar (cdr (cdr x)) 'third))