anchor.diff:    #+allegro `(excl:decf-atomic ,place ,delta)
     #+ccl `(ccl::atomic-incf-decf ,place (- ,delta))
     #+ecl `(- (mp:atomic-decf ,place ,delta) ,delta)
  +  #+lispworks `(system:atomic-decf ,place ,delta)
     #+sbcl `(- (sb-ext:atomic-decf ,place ,delta) ,delta)
     #-(or allegro ccl ecl sbcl)
     (signal-not-implemented 'atomic-decf))
  
positive.code:             (:constructor %make-atomic-integer ()))
    "Wrapper for an (UNSIGNED-BYTE 64) that allows atomic
  increment, decrement and swap."
    #+(or allegro ccl ecl)
    (cell (make-array 1 :element-type t))
    #+sbcl
    (cell 0 :type %atomic-integer-value))
  
negative.code:   (let ((aint (%make-atomic-integer)))
      (setf (atomic-integer-value aint) value)
      aint)
    #-(or allegro ccl ecl lispworks sbcl)
    (signal-not-implemented 'make-atomic-integer))
  
  (defun atomic-integer-compare-and-swap (atomic-integer old new)
  