rename this to `compare_and_swap.go`