anchor.diff:          initially finally
           first-time last-time
           accum-var accum-kind
  -        body)
  +        destructurings body)
       (macrolet ((with-local-var ((name expr) &body body)
                    (once-only (expr)
                      `(let ((,name (aif (and (complex-js-expr? ,expr) (ps-gensym))
  
positive.code:                      (clause)
                       (clause))))
                 (for-clause ()
                   (let ((var (consume-atom))
                         (term (consume-atom)))
                     (case term
                       (:from (for-from var))
                       (:= (for-= var))
  
negative.code:     :from :to :below :downto :above :by :in :across :index := :then :sum :collect))
  
  (defun normalize-loop-keywords (args)
    (mapcar
     (lambda (x)
       (or (find-if (lambda (key) (and (symbolp x) (equal (symbol-name x) (symbol-name key))))
                    *loop-keywords*)
           x))
     args))
  
  (defun parse-ps-loop (terms)
    (let (prologue
  