 }
 
 private final class Atomic<Value> {
-    private var innerValue: Value
+    private var _value: Value
     private let lock: NSLocking = {
         if #available(iOS 10.0, *) {
             return OSUnfairLock()


private extension Executor {
    final class MainThreadInnerExecutor {
        private let executingCount: UnsafeMutablePointer<Int32> = {
            let pointer = UnsafeMutablePointer<Int32>.allocate(capacity: 1)
            pointer.initialize(to: 0)
            return pointer
        }()
        
        deinit {
            executingCount.deinitialize()


public struct Executor {
    public static var immediate: Executor {
        return .init { execute in execute() }
    }
    
    public static var mainThread: Executor {
