anchor.diff:    (print-unreadable-object (aint stream :type t :identity t)
       (format stream "~S" (atomic-integer-value aint))))
   
  -#-(or allegro ccl ecl sbcl)
  +#-(or allegro ccl ecl lispworks sbcl)
   (mark-not-implemented 'make-atomic-integer)
   (defun make-atomic-integer (&key (value 0))
     (check-type value %atomic-integer-value)
  
positive.code:   #+ecl (with-gensyms (tmp)
            `(let ((,tmp ,old))
               (eql ,tmp (mp:compare-and-swap ,place ,tmp ,new))))
    #+sbcl `(sb-ext:compare-and-swap ,place ,old ,new)
    #-(or allegro ccl ecl sbcl)
    (signal-not-implemented 'atomic-cas))
  
  (defmacro atomic-decf (place &optional (delta 1))
  
negative.code:   #+allegro `(excl:incf-atomic ,place ,delta)
    #+ccl `(ccl::atomic-incf-decf ,place ,delta)
    #+ecl `(+ (mp:atomic-incf ,place ,delta) ,delta)
    #+lispworks `(system:atomic-incf ,place ,delta)
    #+sbcl `(+ (sb-ext:atomic-incf ,place ,delta) ,delta)
    #-(or allegro ccl ecl sbcl)
    (signal-not-implemented 'atomic-incf))
  