     }
     
     public static func queue(_ dispatchQueue: DispatchQueue) -> Executor {
-        return .init { execute in
-            dispatchQueue.async(execute: execute)
-        }
+        return .init { execute in dispatchQueue.async(execute: execute) }
     }
     
     private let executor: (@escaping () -> Void) -> Void

    }
}

private final class Dispatcher<State: VueFlux.State> {
    private typealias Subscription = (key: Key, observer: (State.Action) -> Void)
    private typealias Buffer = (nextKey: Key, subscriptions: ContiguousArray<Subscription>)
    

    }()
    
    init(_ value: Value) {
        _value = value
    }
    
    @discardableResult
    func synchronized<Result>(_ action: (Value) throws -> Result) rethrows -> Result {
        lock.lock()
        defer { lock.unlock() }
        return try action(_value)
    }
    
    @discardableResult
    func modify<Result>(_ action: (inout Value) throws -> Result) rethrows -> Result {
        lock.lock()
        defer { lock.unlock() }
        return try action(&_value)
    }
}

