anchor.diff:                (incf (vm-program-counter vm))
                 (apply-return-address vm (pop (vm-stack vm))))
             (push result (vm-stack vm)))))))
  +
  +(defun set-in-top-frame (environment var-index value)
  +  (declare (optimize speed))
  +  (let ((vars (env-frame-vars (first environment))))
  +    (declare (type (simple-array t *) vars))
  +    (setf (second (aref vars var-index))
  +          value)))
   
   (defun set-in-environment (environment frame-number var-index value)
     (setf (second (aref (env-frame-vars (nth frame-number environment))
  
positive.code:   (with-output-to-string (str)
      (write-environment (vm-current-environment vm) vm str)))
  
  (defun vm-is-live (vm)
    (declare (optimize speed)
             (inline vm-execution-complete))
  
negative.code:    (not (vm-execution-complete vm))
     (not (vm-should-take-a-nap vm))))
  
  (declaim (inline vm-execution-complete))
  (defun vm-execution-complete (vm)
    (declare (optimize speed))
    (= (the fixnum (vm-program-counter vm))
  