on may be more efficient than <code>compareAndSet</code> in the normal case, but differs in that any given
 invocation of the <code>weakCompareAndSet</code> method may return <code>false</code> <em>spuriously</em> (that is, for no apparent reason).  A
 <code>false</code> return means only that the operation may be retried if
 desired, relying on the guarantee that repeated invocation when the
 variable holds <code>expectedValue</code> and no other thread is also
 attempting to set the variable will eventual