code: func (w *Waker) Clear() bool {
  	// Nothing to do if the waker is not asserted. This check allows us to
  	// complete this case (already not asserted) without any interlocked
  	// operations on x86.
  	if atomic.LoadPointer(&w.s) != usleeper(&assertedSleeper) {
  		return false
  	}
  
  	// Try to store nil in the sleeper, which indicates that the waker is
  	// not asserted.
  	return atomic.CompareAndSwapPointer(&w.s, usleeper(&assertedSleeper), nil)
  }
docs: // Clear moves the waker to then non-asserted state and returns whether it was
  // asserted before being cleared.
  //
  // N.B. The waker isn't removed from the "ready" list of a sleeper (if it
  // happens to be in one), but the sleeper will notice that it is not asserted
  // anymore and won't return it to the caller.