>>41
すいません、良く試してみると返り値は正しいんですが
元のリストの変更は n=0 の時失敗してしまうようです…。
(let ((ls '(1 2 3)))
(foo ls 0)
ls)