anchor.diff:  
   
   
  -(declaim (ftype (function (tvar) (values fixnum t)) %tvar-version-and-value)
  +(declaim (ftype (function (tvar) (values atomic-counter-num t)) %tvar-version-and-value)
            (inline
              %tvar-version-and-value))
   
  
positive.code: 
  
  
  (declaim (ftype (function (tvar t fixnum) (values t)) set-tvar-value-and-version)
           (inline
             set-tvar-value-and-version))
  
  
negative.code:   (multiple-value-bind (version0+lock value) (%tvar-version-and-value var)
      (let1 version1+lock (progn (mem-read-barrier) (tvar-version var))
        
        (declare (type atomic-counter-num version0+lock version1+lock))
  
        (let* ((version1 (logand version1+lock (lognot 1)))
               (lock1    (logand version1+lock 1))
  