anchor.diff:             (type callable callable)
              (type fixnum num-args))
     (when save-return-address
  -    (push (make-return-address :program-counter (the fixnum (1+ (the fixnum (vm-program-counter vm))))
  +    (push (make-return-address :program-counter (the fixnum (1+ (vm-program-counter vm)))
                                  :environment (vm-current-environment vm))
             (vm-stack vm)))
     (when (and (callable-num-args callable)
  
positive.code:       (incf (vm-program-counter vm))))
  
  (defun apply-return-address (vm retaddr)
    (setf (vm-program-counter vm) (return-address-program-counter retaddr)
          (vm-current-environment vm) (return-address-environment retaddr)))
  
  (defun handle-args (vm args)
    (declare (optimize speed (safety 0))
             (type fixnum args))
    (when (< 0 args)
      (let* ((stack (vm-stack vm))
  
negative.code:   (incf (the fixnum (vm-program-counter vm))))
  
  (defun handle-call (vm num-args save-return-address)
    (declare (optimize speed (safety 0))
             (type vm vm)
             (type fixnum num-args))
    (let ((callable (pop (vm-stack vm))))
  