I think ? is a perfect example of Stroustrup's Rule:
https://thefeedbackloop.xyz/stroustrups-rule-and-layering-ov...> For new features, people insist on LOUD explicit syntax.
> For established features, people want terse notation.
I was pretty against ? when it was proposed. I liked try!. I thought ? was hard to read. I thought try! was concise enough. After writing (and reading) lots of code with ?, I'm all in. Heck, ? still isn't extendable for user-defined types, and now I want that! We made ? work in main, and in tests.
It's now one of my favorite features of Rust. YMMV.