anchor.diff:  (defun layout-local-variables (backend-function)
     (let ((worklist (list (cons (first-instruction backend-function) '())))
           (visited (make-hash-table))
  -        (layout (make-hash-table))
  -        (debug-layout (make-array 0)))
  +        (layout (make-hash-table)))
       (loop
          (when (endp worklist)
            (return))
  
positive.code:          (dolist (next (mezzano.compiler.backend::successors backend-function inst))
             (when (not (gethash next visited))
               (push (cons next stack) worklist)))))
      (values layout debug-layout)))
  
  (defun compute-stack-layout (backend-function uses defs)
    (declare (ignore uses))
    (multiple-value-bind (local-layout debug-layout)
        (layout-local-variables backend-function)
      (let* ((correct-layout (loop
                     for vreg being the hash-keys of defs using (hash-value vreg-defs)
                     when (not (and vreg-defs
                                    (endp (rest vreg-defs))
                                    (typep (first vreg-defs) 'save-multiple-instruction)))
                     collect vreg))
             (layout (loop
                        for vreg being the hash-keys of defs using (hash-value vreg-defs)
                        when (not (and vreg-defs
                                       (endp (rest vreg-defs))
                                       (typep (first vreg-defs) 'save-multiple-instruction)))
                        collect vreg))
             (max-local-slot (loop
                                for slot being the hash-values of local-layout
                                maximize (1+ slot)))
             (local-slots (make-array max-local-slot :initial-element '())))
        (loop
           for local being the hash-keys of local-layout using (hash-value slot)
           do
             (push local (aref local-slots slot)))
        (setf layout (append (coerce local-slots 'list) layout))
        (when (argument-setup-rest (mezzano.compiler.backend::first-instruction backend-function))
          ;; Reserve slot 0 for the saved argument count. Required for &rest list generation.
          (push :raw layout)
          (push :raw correct-layout)
          (setf debug-layout (concatenate 'vector (list nil) debug-layout)))
        (when (not mezzano.compiler.backend.ast-convert::*enable-locals*)
          (assert (equal layout correct-layout)))
        (values (make-array (length layout)
                            :adjustable t
                            :fill-pointer t
  
negative.code:          (setf (gethash inst visited) t)
           (typecase inst
             (bind-local-instruction
              (setf (gethash inst layout) (length stack))
              (push inst stack))
             (unbind-local-instruction
              (assert (eql (unbind-local-local inst)
  