Practical implementations of non-blocking synchronization primitives | Synapse