> Rust's advantage is that it forces you to at least pretend to handle the error
I'm not sure I would call this an advantage. See: Handling of Checked Exceptions in Java.
I'm not sure I would call this an advantage. See: Handling of Checked Exceptions in Java.
But that can only happen if the method returns a type of Result, true? Does this have the effect that just about every function ends up having to return Result (so that the ? operator works)?
That's better, not worse, because it means you don't up with unhandled downstream errors bloating the signature just because people didn't want to bother with them, which means people are more likely to do something sensible (which may just be wrapping) with them.