anchor.diff:          (if (null var)
             (case (gethash symbol +global-var-info+)
               (:dynamic (set-symbol-value symbol (eval-form value env)))
  -            (:static (setf (sym-value symbol) (eval-form value env)))
               (:constant (error-constant-modification symbol))
               (:macro (eval-form `([setf] ,symbol ,value) env))
  -            (T (error-undeclared-variable symbol)))
  +            (T (setf (sym-value symbol) (eval-form value env))))
             (ecase (second var)
               (:dynamic (set-symbol-value symbol (eval-form value env)))
               (:static (setf (cddr var) (eval-form value env)))
  
positive.code: ;; Upcoming Microlisp runtime and compiler should implement all
  ;;   this stuff from scratch.
  
  (disable-xi-syntax)
  
negative.code:     (if (null var)
        (case (gethash symbol +global-var-info+)
          (:dynamic (get-symbol-value symbol))
          ((:static :constant) (sym-value symbol))
          (:macro (eval-form (sym-value symbol) env))
          (T (error-undeclared-variable symbol)))
        (ecase (second var)
          (:dynamic (get-symbol-value symbol))   
          (:macro (eval-form (cddr symbol) env))
          ((:static :constant) (cddr var))))))
  
  (defun %eval-setq (form env)
    (if (= (length form) 3)
      (if (symbol-object-p (second form))
        (let* ((symbol (second form))
  