anchor.diff:        (consp expr)))
   
   (defvar *loop-keywords*
  -  '(:for :do :when :unless :initially :finally :first-time :last-time :while :until
  -    :from :to :below :downto :above :by :in :across :on :index := :then :sum :collect
  +  '(:for :do :when :unless :initially :finally :while :until
  +    :from :to :below :downto :above :by :in :across :on := :then :sum :collect
       :count :minimize :maximize :into :repeat))
   
   (defun normalize-loop-keywords (args)
  
positive.code: (defun nreverse-loop-state (state)
    (macrolet ((rev% (&rest accs)
                 (cons 'progn (loop :for a :in accs :collect `(setf (,a state) (nreverse (,a state)))))))
      (rev% iterations prologue initially finally during-first during-last body))
    state)
  
  (defun push-tokens (state toks)
  
negative.code:       (:until (push `(when ,(eat state) break) (body state)))
        (:initially (push (eat state :progn) (initially state)))
        (:finally (push (eat state :progn) (finally state)))
        (otherwise (push (body-clause term state) (body state))))))
  
  (defun parse-ps-loop (terms)
  