@huonw Yeah, that's right. I think `VolatilePtr` is somewhat not needed, as you pointed out.

I removed it and everything now works with `Volatile<T>`. If you wanted a volatile pointer *stored*, then you wouldn't have any wrapper to make sure the data, that the pointer points to, is valid.

However, I'm not sure how often that use case arises, where the pointer is volatile.