As a concrete example of the confusion, the Library and Extension FAQ’s question What kinds of global value mutation are thread-safe? actually lists operations on objects of built-in type that are guaranteed to be atomic.
(See also another post of mine where I mention some other guarantees that aren’t documented.)