import Bindings import XCTestDynamicOverlay public struct ConnectionClose { public var run: () throws -> Void public func callAsFunction() throws { try run() } } extension ConnectionClose { public static func live(_ bindingsConnection: BindingsConnection) -> ConnectionClose { ConnectionClose(run: bindingsConnection.close) } public static func live(_ bindingsConnection: BindingsAuthenticatedConnection) -> ConnectionClose { ConnectionClose(run: bindingsConnection.close) } } extension ConnectionClose { public static let unimplemented = ConnectionClose( run: XCTUnimplemented("\(Self.self)") ) }