anchor.diff:    (let ((test-form (test form)))
       (typecase test-form
         (ast-let
  -       (when (find-if (lambda (x) (typep x 'special-variable))
  -                      (bindings test-form)
  -                      :key #'first)
  +       (when (let-binds-special-variable-p test-form)
            (return-from hoist-form-out-of-if nil))
          (ast `(let ,(bindings test-form)
                  (if ,(body test-form)
  
positive.code:     (setf (second b) (simp-form (second b))))
    (setf (body form) (simp-form (body form)))
    ;; Rewrite (let (... (foo ([progn,let] x y)) ...) ...) to (let (...) ([progn,let] x (let ((foo y) ...) ...))) when possible.
    (when (not (some (lambda (x) (typep x 'special-variable)) (mapcar 'first (bindings form))))
      (loop
         for binding-position from 0
         for (variable initform) in (bindings form)
  
negative.code:         (t
           (change-made)
           (body form))))
  
  (defun let-binds-special-variable-p (let-form)
    (some (lambda (x) (typep (first x) 'special-variable))
          (bindings let-form)))
  
  (defmethod simp-form ((form ast-multiple-value-bind))
    ;; If no variables are used, or there are no variables then
  