     }
     
     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 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 {
