Resposta ao exercício 60

(defun muda-n-esimo! (n lista elem)
  (if (= n 0)
    (rplaca lista elem)
    (muda-n-esimo! (1- n) (rest lista) elem))
  lista)

Repare-se como a última coisa a ser avaliada e devolvida pela função é o parâmetro lista original. Se tal não fosse feito, perderiamos acesso aos elementos anteriores àquele que se estava a modificar. Na definição segundo a programação funcional, esses valores eram recuperados por sucessivas inserções na nova lista que tinham sido deixadas em suspenso.