Turning Functions into Macros
Do it to eliminate a function call
Do it when the function is not recursive
(defun second (x) (cadr x))
(defmacro second (x) `(cadr ,x))
(defun sum (&rest numbers) (apply #’+ numbers))
(defmacro sum (&rest numbers) `(+ ,@numbers))