async fn collect_user( services: &Services, sender_user: &UserId, user_id: OwnedUserId, fields: BTreeSet<ProfileFieldName>, ) -> Result<Option<(OwnedUserId, UserProfileUpdate)>>