Resposta ao exercício 75

(defmacro caso (exp &rest clausulas)
  `(let ((temp ,exp))
     (cond ,@(mapcar #'(lambda (clausula)
                         `((eql temp ,(car clausula)) ,@(cdr clausula)))
                     clausulas))))

Esta forma especial já existe em Lisp e denomina-se case.