pop!

push!があるならpop!もあるんじゃないかなと思ってやってみたら、やっぱりあった。

gosh> (define *nums* (list 1 2 3 4))
*nums*
gosh> (pop! *nums*)
1
gosh> *nums*
(2 3 4)
gosh> (pop! (cdr *nums*))
3
gosh> *nums*
(2 4)

popした値を返すのね。
popの戻り値というと、Exceptional C++を連想するなぁ。
あれも最後まで読んでないけど。