anchor.diff:    (with-output-to-string (str)
       (write-environment (vm-current-environment vm) vm str)))
   
  +(declaim (inline vm-not-finished))
   (defun vm-not-finished (vm)
     (and
      (< (vm-program-counter vm) (length (vm-bytecode vm)))
  
positive.code:          (count-structure (vm-stack vm))))))
  
  (defun step-vm (vm)
    (declare (optimize (speed 1))
             (type vm vm))
    (check-vm-without-error vm)
    (when (and (vm-total-ticks-quota vm)
               (>= (vm-executed-ticks vm)
  
negative.code:     (setf (vm-should-take-a-nap vm) t))
    (check-cells-quota vm)
    (when (vm-not-finished vm)
      (let* ((instruction (aref (vm-bytecode vm) (vm-program-counter vm)))
             (opcode (instruction-opcode instruction))
             (args (instruction-arguments instruction)))
        (alexandria:when-let ((start-pos (instruction-start-pos instruction))
  