diff --git a/Sources/XXClient/E2E/Functors/E2EGetContact.swift b/Sources/XXClient/E2E/Functors/E2EGetContact.swift
index ccd3b4176e70872e6e4c32b4054b7e3cc5a93cb3..f7426dc27da0929fc5f4adf4ab2c66aaae4ece03 100644
--- a/Sources/XXClient/E2E/Functors/E2EGetContact.swift
+++ b/Sources/XXClient/E2E/Functors/E2EGetContact.swift
@@ -2,9 +2,9 @@ import Bindings
 import XCTestDynamicOverlay
 
 public struct E2EGetContact {
-  public var run: () -> Data
+  public var run: () -> Contact
 
-  public func callAsFunction() -> Data {
+  public func callAsFunction() -> Contact {
     run()
   }
 }
@@ -15,13 +15,16 @@ extension E2EGetContact {
       guard let data = bindingsE2E.getContact() else {
         fatalError("BindingsE2e.getContact returned `nil`")
       }
-      return data
+      return Contact.live(data)
     }
   }
 }
 
 extension E2EGetContact {
   public static let unimplemented = E2EGetContact(
-    run: XCTUnimplemented("\(Self.self)", placeholder: "unimplemented".data(using: .utf8)!)
+    run: XCTUnimplemented(
+      "\(Self.self)",
+      placeholder: .unimplemented("unimplemented".data(using: .utf8)!)
+    )
   )
 }