anchor.diff:      (otherwise (let ((tok (pop (tokens state))))
                    (when (and (eq what :atom) (not (atom tok)))
                      (err "an atom" tok))
  +                 (when (and (eq what :symbol) (not (symbolp tok)))
  +                   (err "a symbol" tok))
                    tok))))
   
   (defun prevar (var expr state)
  
positive.code: 
  (eval-when (:compile-toplevel :load-toplevel :execute)
    (defvar *loop-keywords*
      '(:for :do :repeat :with :while :until :initially :finally
        :from :to :below :downto :above :by :in :across :on := :then
        :when :unless :if :else :end
        :sum :collect :append :count :minimize :maximize :into))
  
    (defun as-keyword (key)
  
negative.code:          ;; add to prologue, so compute main loop first.
           (main (or (parallel-form loop)
                     (straightforward-form loop)))
           (full `(block ,(name loop)
                    (with-prologue (,(prologue loop))
                      ,@(initially loop)
                      ,main
  