Macro Call Evaluation
1. The arguments (unevaluated) are passed to the macro expansion function.
SYMBOL gets as its binding the symbol TOTAL.
2. The expansion procedure is applied.
Any macro forms within the expansion are themselves expanded.
3. The result of expansion is itself evaluated.