anchor.diff:                            (error "Macros in `local' cannot be defined as closures."))
                           (push (list* name args body) macros)
                           ;; `defmacro' returns a symbol.
  -                        `',name)
  +                        (values `',name :macro))
                          ((define-symbol-macro sym exp)
                           (when (or (member sym vars)
                                     (member sym hoisted-vars :key #'car))
  
positive.code:                         (declare (ignore docstring))
                          (let ((expr (macroexpand expr env)))
                            (if (constantp expr)
                                (push (list name expr) symbol-macros)
                                (push (list name `(load-time-value ,expr t)) hoisted-vars)))
                          `',name)
                         ((defconst name expr &optional docstring)
  
negative.code:                         (when in-let?
                            (error "Symbol macros in `local' must not be defined in binding forms."))
                          (push (list sym exp) symbol-macros)
                          (values `',sym :macro))
                         ((declaim &rest specs)
                          (dolist (spec specs)
                            (push `(declare ,spec) decls)))
  