uint64_t hashScalarField(const Protobuf::Reflection& reflection, const Protobuf::Message& message,
for (const std::string& str : reflection.GetRepeatedFieldRef<std::string>(message, &field)) {
seed = HashUtil::xxHash64(reflection.GetStringReference(message, &field, &scratch), seed);
uint64_t hash(const Protobuf::Message& message) { return reflectionHashMessage(message, 0); }