anchor.diff:  
   (defun %expand-macro (form def)
     (cond
  -    ((defined-macro-p form def) (%expand-macro (%expand-macro-1 form def) def))
  +    ((macro-form-p form def) (%expand-macro (%expand-macro-1 form def) def))
       ((not (atom form)) (let ((op   (car form))
                                (rest (cdr form)))
                            `(,op ,@(mapcar (lambda (x)
  
positive.code: 
  (defun compile-expression (exp type-env def)
    (cond
      ((defined-macro-p exp def) (compile-macro exp type-env def))
      ((literal-p exp) (compile-literal exp))
      ((cuda-dimension-p exp) (compile-cuda-dimension exp))
      ((variable-reference-p exp)
  
negative.code:   (cdr form))
  
  (defun compile-macro (form type-env def &key (statement-p nil))
    (unless (macro-form-p form def)
      (error "undefined macro: ~A" form))
    (if statement-p
        (compile-statement  (%expand-macro-1 form def) type-env def)
        (compile-expression (%expand-macro-1 form def) type-env def)))
  
  (defun %expand-macro-1 (form def)
    (if (macro-form-p form def)
        (let ((operator (macro-operator form))
              (operands (macro-operands form)))
          (let ((expander (if (built-in-macro-p form)
  