I found the `atomicutil` package used throughout the code base, but it
seems to predate the addition of `atomic.Pointer[T]`. Potentially this
should allow us to remove the package altogether and use stdlib directly
instead. But I went ahead with starting with adding simple test cases
first, so that we have better test coverage across the code base.
Also, I added an example of how `atomicutil` usage may be problematic in
some specific scenario compared to how it's implemented with
`atomic.Pointer[T]`. Not to mention, there is some performance gain of
not using the direct casting with its generic support. (Though this is
probably a minor one and the code clarity is a benefit we may want to
keep rather than using other atomic values such as `atomic.Bool`.)
---------
Co-authored-by: Kenneth Jenkins <51246568+kenjenkins@users.noreply.github.com>