anchor.diff:  (defun for-on (var bindings state)
     (with-local-var (arr (eat state) state)
       (let ((by (aif (eat state :if :by)
  -                   `(,(reduce-function-symbol it) ,var)
  +                   `(,(turn-lisp-style-function-name-to-ordinary-js-name it) ,var)
                      `((@ ,var :slice) 1))))
         (push-tokens state `(,var := ,arr :then ,by))
         (for-clause state)
  
positive.code:       (consp expr)))
  
  (defvar *loop-keywords*
    '(: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)
    (mapcar
  
negative.code: (defun clause (state)
    (let ((term (eat state :atom)))
      (case term
        (:with (a-with-clause state))
        (:for (for-clause state))
        (:repeat (repeat-clause state))
        (:while (push `(unless ,(eat state) break) (body state)))
  