While the crash dump route issue is still an open discussion, it seems like we should be able to eventually converge on an answer there, and the fundamental issue is broader than, and somewhat orthogonal to, the question of absl::optional vs. std::optional itself.
I don't see any other reason not to do this. +1 from me to switching over once the crash issue has alignment.
I would also like to publicly thank you for the time and effort you've been putting in to investigate these fundamental type switches. It's not glamorous work and most developers don't perceive much immediate benefit, but each one removed is one less hurdle for a new contributor to learn, one less case of impedance mismatches for a third-party library to convert, and one more case where we more deeply understand the tradeoffs we're making with our type choices. Sincere thanks, David, for the slog.
PK