diff --git a/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift b/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift
index 8126b792074a9a82050228cc0d0edbe8d26742ce..9f6ef294f5a8b35bdc7e7d0300ce05fd84ae1823 100644
--- a/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift
+++ b/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift
@@ -105,13 +105,13 @@ public let contactReducer = Reducer<ContactState, ContactAction, ContactEnvironm
       var dbContact = state.dbContact ?? XXModels.Contact(id: state.id)
       dbContact.marshaled = xxContact.data
       if state.importUsername {
-        dbContact.username = try? xxContact.getFact(.username)?.fact
+        dbContact.username = try? xxContact.getFact(.username)?.value
       }
       if state.importEmail {
-        dbContact.email = try? xxContact.getFact(.email)?.fact
+        dbContact.email = try? xxContact.getFact(.email)?.value
       }
       if state.importPhone {
-        dbContact.phone = try? xxContact.getFact(.phone)?.fact
+        dbContact.phone = try? xxContact.getFact(.phone)?.value
       }
       _ = try! env.db().saveContact(dbContact)
     }
diff --git a/Examples/xx-messenger/Sources/ContactFeature/ContactView.swift b/Examples/xx-messenger/Sources/ContactFeature/ContactView.swift
index 252a1fd1e8ffc9593e37897e7a8b76ab75089eb9..a35e2074d132095047bb62da9478754114dca1fb 100644
--- a/Examples/xx-messenger/Sources/ContactFeature/ContactView.swift
+++ b/Examples/xx-messenger/Sources/ContactFeature/ContactView.swift
@@ -26,9 +26,9 @@ public struct ContactView: View {
     init(state: ContactState) {
       dbContact = state.dbContact
       xxContactIsSet = state.xxContact != nil
-      xxContactUsername = try? state.xxContact?.getFact(.username)?.fact
-      xxContactEmail = try? state.xxContact?.getFact(.email)?.fact
-      xxContactPhone = try? state.xxContact?.getFact(.phone)?.fact
+      xxContactUsername = try? state.xxContact?.getFact(.username)?.value
+      xxContactEmail = try? state.xxContact?.getFact(.email)?.value
+      xxContactPhone = try? state.xxContact?.getFact(.phone)?.value
       importUsername = state.importUsername
       importEmail = state.importEmail
       importPhone = state.importPhone
diff --git a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
index 712855ba1ba4aecfe467679b4fcc87090de4ee43..9df6d745b07e282095cac03a0d978646795af301 100644
--- a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
+++ b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
@@ -200,7 +200,7 @@ public let homeReducer = Reducer<HomeState, HomeAction, HomeEnvironment>
         let contact = try env.dbManager.getDB().fetchContacts(.init(id: [contactId])).first
         if let username = contact?.username {
           let ud = try env.messenger.ud.tryGet()
-          try ud.permanentDeleteAccount(username: Fact(fact: username, type: 0))
+          try ud.permanentDeleteAccount(username: Fact(type: .username, value: username))
         }
         try env.messenger.destroy()
         try env.dbManager.removeDB()
diff --git a/Examples/xx-messenger/Sources/SendRequestFeature/SendRequestView.swift b/Examples/xx-messenger/Sources/SendRequestFeature/SendRequestView.swift
index 5f1cd7d53e8300fc55ffc907a410fb66c2b92c77..fbfd9958fbc721504586ee04a1927166c340fa6e 100644
--- a/Examples/xx-messenger/Sources/SendRequestFeature/SendRequestView.swift
+++ b/Examples/xx-messenger/Sources/SendRequestFeature/SendRequestView.swift
@@ -24,12 +24,12 @@ public struct SendRequestView: View {
     var failure: String?
 
     init(state: SendRequestState) {
-      contactUsername = try? state.contact.getFact(.username)?.fact
-      contactEmail = try? state.contact.getFact(.email)?.fact
-      contactPhone = try? state.contact.getFact(.phone)?.fact
-      myUsername = try? state.myContact?.getFact(.username)?.fact
-      myEmail = try? state.myContact?.getFact(.email)?.fact
-      myPhone = try? state.myContact?.getFact(.phone)?.fact
+      contactUsername = try? state.contact.getFact(.username)?.value
+      contactEmail = try? state.contact.getFact(.email)?.value
+      contactPhone = try? state.contact.getFact(.phone)?.value
+      myUsername = try? state.myContact?.getFact(.username)?.value
+      myEmail = try? state.myContact?.getFact(.email)?.value
+      myPhone = try? state.myContact?.getFact(.phone)?.value
       sendUsername = state.sendUsername
       sendEmail = state.sendEmail
       sendPhone = state.sendPhone
@@ -134,9 +134,9 @@ public struct SendRequestView_Previews: PreviewProvider {
             var contact = XXClient.Contact.unimplemented("contact-data".data(using: .utf8)!)
             contact.getFactsFromContact.run = { _ in
               [
-                Fact(fact: "contact-username", type: 0),
-                Fact(fact: "contact-email", type: 1),
-                Fact(fact: "contact-phone", type: 2),
+                Fact(type: .username, value: "contact-username"),
+                Fact(type: .email, value: "contact-email"),
+                Fact(type: .phone, value: "contact-phone"),
               ]
             }
             return contact
@@ -145,9 +145,9 @@ public struct SendRequestView_Previews: PreviewProvider {
             var contact = XXClient.Contact.unimplemented("my-data".data(using: .utf8)!)
             contact.getFactsFromContact.run = { _ in
               [
-                Fact(fact: "my-username", type: 0),
-                Fact(fact: "my-email", type: 1),
-                Fact(fact: "my-phone", type: 2),
+                Fact(type: .username, value: "my-username"),
+                Fact(type: .email, value: "my-email"),
+                Fact(type: .phone, value: "my-phone"),
               ]
             }
             return contact
diff --git a/Examples/xx-messenger/Sources/UserSearchFeature/UserSearchFeature.swift b/Examples/xx-messenger/Sources/UserSearchFeature/UserSearchFeature.swift
index d49b44400f07407b693709d4d13579ab8087b173..2e892bb4882b43ddab7d91ab81d15c007e561a87 100644
--- a/Examples/xx-messenger/Sources/UserSearchFeature/UserSearchFeature.swift
+++ b/Examples/xx-messenger/Sources/UserSearchFeature/UserSearchFeature.swift
@@ -130,9 +130,9 @@ public let userSearchReducer = Reducer<UserSearchState, UserSearchAction, UserSe
       return UserSearchState.Result(
         id: id,
         xxContact: contact,
-        username: try? contact.getFact(.username)?.fact,
-        email: try? contact.getFact(.email)?.fact,
-        phone: try? contact.getFact(.phone)?.fact
+        username: try? contact.getFact(.username)?.value,
+        email: try? contact.getFact(.email)?.value,
+        phone: try? contact.getFact(.phone)?.value
       )
     })
     return .none