CAS = compare and swapThis is an atomic operation supported by most hardware.Rather than "(when (= x 4) (setf x 5))", you write "(cas x 4 5)". This allows the test and set to occur without interference from other threads/processes but also without locking a mutex (which could block indefinitely).