pub async fn process_prekey<'a>(
message: &'a PreKeySignalMessage,
remote_address: &'a ProtocolAddress,
session_record: &mut SessionRecord,
identity_store: &dyn IdentityKeyStore,
pre_key_store: &dyn PreKeyStore,
signed_prekey_store: &dyn SignedPreKeyStore,
kyber_prekey_store: &dyn KyberPreKeyStore,
use_pq_ratchet: UsePQRatchet,
) -> Result<(PreKeysUsed, IdentityToSave<'a>)>