anchor.diff:           (is-required-primitive (callable-prim0 callable))
            (primitive-arity (second primitive-record))
            (current-program-counter (vm-program-counter vm)))
  +    (declare (type (or fixnum null) num-args primitive-arity))
       (when (and primitive-arity (/= primitive-arity num-args))
         (arity-error vm primitive-arity num-args))
       (if is-required-primitive
  
positive.code:         (finish-primitive-call vm num-args result save-return-address)))))
  
  (defun finish-primitive-call (vm num-args result save-return-address)
    (setf (vm-stack vm) (nthcdr num-args (vm-stack vm)))
    (if save-return-address
        (incf (vm-program-counter vm))
        (apply-return-address vm (pop (vm-stack vm))))
    (push result (vm-stack vm)))
  
  (defun call-primitive (callable vm num-args save-return-address)
    (unless (callable-cached-prim callable)
      (setf (callable-cached-prim callable)
            (or (alexandria:if-let (prim0 (callable-prim0 callable))
  
negative.code:   (setf (vm-used-cells vm) (count-active-objects-cells vm)))
  
  (defun increment-cells-quota (vm cells)
    (declare (optimize speed (safety 0)))
    (incf (the fixnum (vm-used-cells vm)) (the fixnum cells)))
  
  (defun count-active-objects-cells (vm)
    (let ((visited  (make-hash-table :test #'eq)))
  