I found an implementation of spinlock in concurrency.d. ``` static shared struct SpinLock {void lock() { while (!cas(&locked, false, true)) { Thread.yield(); } } void unlock() { atomicStore!(MemoryOrder.rel)(locked, false); }
bool locked; } ``` Why atomicStore use MemoryOrder.rel instead of MemoryOrder.raw?