anchor.diff:  (defspecial quote (object)
     object)
   
  -;; TODO: symbol macros.
   (defspecial setq (&environment env &rest pairs)
     (when (oddp (length pairs))
       (error "Odd number of arguments to SETQ."))
     (when pairs
       (flet ((set-one (symbol value)
                (let ((var (find-variable symbol env)))
  -               (if (symbolp var)
  -                   (setf (symbol-value var) (eval-in-lexenv value env))
  -                   (setf (third var) (eval-in-lexenv value env))))))
  +               (etypecase var
  +                 (sys.c::special-variable
  +                  (setf (symbol-value symbol) (eval-in-lexenv value env)))
  +                 (sys.c::symbol-macro
  +                  (eval-in-lexenv `(setf ,symbol ,value) env))
  +                 (lexical-variable
  +                  (setf (variable-value var) (eval-in-lexenv value env)))))))
       (do ((i pairs (cddr i)))
           ((null (cddr i))
            (set-one (first i) (second i)))
  
positive.code: 
  (defspecial go (&environment env tag)
    (check-type tag (or symbol integer))
    (dolist (e env (error "No GO-tag named ~S." tag))
      (when (and (eql (first e) :tagbody)
                 (member tag (cddr e)))
        (funcall (second e) tag))))
  
  (defspecial progv (&environment env symbols values &body body)
    (progv (eval-in-lexenv symbols env) (eval-in-lexenv values env)
  
negative.code:       (eval-progn-body body env))))
  
  (defspecial flet (&environment env definitions &body forms)
    (multiple-value-bind (body declares)
        (sys.int::parse-declares forms)
      (let* ((functions (mapcar (lambda (def)
                                  (multiple-value-bind (name fn)
                                      (frob-flet-function def env)
                                    (list name (make-instance
                                                'lexical-variable
                                                :name name
                                                :value fn))))
                                definitions))
             (env (sys.c::extend-environment
                   env
                   :functions functions
                   :declarations declares)))
        (eval-progn-body body env))))
  
  (defspecial function (&environment env name)
    (if (sys.int::lambda-expression-p name)
  