anchor.diff:  
   (defclass loop-state ()
     ((tokens :initarg :tokens :accessor tokens)
  +   (name :initform nil :accessor name)
      (iterations :initform nil :accessor iterations)
      (prologue :initform nil :accessor prologue)
      (initially :initform nil :accessor initially)
  
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:     (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)
  