Para além do qualificador &optional existem ainda o &rest e o &key. O &rest só pode qualificar o último parâmetro de uma função, e indica que esse parâmetro vai ficar ligado a uma lista com todos os restantes argumentos. A título de exemplo, temos:
> ((lambda (x y &rest z) (list x y z)) 1 2 3 4 5 6) (1 2 (3 4 5 6))
O qualificador &rest permite assim construir funções com qualquer número de argumentos.
Exercício 67
Defina a função lista que recebe qualquer número de argumentos e constroi uma lista com todos eles.