I need to dig up the document, but am on tablet right now: Only one go routine has access to memory at a time. Using ``sync/atomic`` or locking would work in terms of ordering; but if you look closely, we're only doing this to catch semantic errors in use, a non-critical feature.