anchor.diff:                                  `(progn (setf ,var ,expr) ',var)))))
                          ((defconstant name expr &optional docstring)
                           (declare (ignore docstring))
  -                        (let ((expr (macroexpand expr env)))
  +                        (let ((expr (expand expr env)))
                             (if (constantp expr)
                                 (push (list name expr) symbol-macros)
                                 (push (list name `(load-time-value ,expr t)) hoisted-vars)))
  
positive.code:                       (macroexpand-1 form env)))
                     (otherwise
                      (macroexpand-1 form env))))
                 (expand-body (body)
                   (expand-partially `(progn ,@body)))
                 (expand-partially (form)
  
negative.code:                        ((def var expr &optional docstring)
                          (declare (ignore docstring))
                          ;; Remember `def' returns a symbol.
                          (let ((expr (expand expr env)))
                            (if (and
                                 (constantp expr env)
                                 ;;Don't hoist if null.
  