anchor.diff:                            :type 'hu.dwim.walker:unwalked-lexical-variable-reference-form))))
         (find (intern "<>") (mapcar #'hu.dwim.walker:name-of refs)))))
   
  -(defun find-free-and-<>-symbol (form env)
  -    (handler-case (find-free-and-<>-symbol% form env)
  +(defun find-<>-variable-in-same-context (form env)
  +    (handler-case (find-<>-variable-in-same-context% form env)
         #+sbcl(sb-kernel::arg-count-error () nil)
         #-sbcl(error () nil)))
   
  
positive.code:                             exp)))))
            `(let ((,<> ,init))
               ,@(loop for (exp next-exp) on exps collect
                      (let ((exp (cond ((find-free-and-<>-symbol exp env) exp)
                                       (spear-p `(->> ,<> ,exp))
                                       (t `(-> ,<> ,exp)))))
                        (if next-exp `(setf ,<> ,exp) exp))))))))
  
negative.code:           `(block ,gblock
               (let ((,<> (or ,init (return-from ,gblock nil))))
                 ,@(loop for (exp next-exp) on exps collect
                        (let ((exp (cond ((find-<>-variable-in-same-context exp env) exp)
                                         (spear-p `(->> ,<> ,exp))
                                         (t `(-> ,<> ,exp)))))
                          (if next-exp
  