import Bindings import XCTestDynamicOverlay public struct GetFactsFromContact { public var run: (Data) throws -> [Fact] public func callAsFunction(_ contactData: Data) throws -> [Fact] { try run(contactData) } } extension GetFactsFromContact { public static let live = GetFactsFromContact { contactData in var error: NSError? let data = BindingsGetFactsFromContact(contactData, &error) if let error = error { throw error } guard let data = data else { fatalError("BindingsGetFactsFromContact returned `nil` without providing error") } return try [Fact].decode(data) } } extension GetFactsFromContact { public static let unimplemented = GetFactsFromContact( run: XCTUnimplemented("\(Self.self)") ) }