When talking to folks new to the Rust language, a common misconception I encounter is that ? is some kind of special syntax that only works for Result. While it is true that the ? operator is a special bit of syntax, it is not limited to Result, and a lesser known fact is that it works for Option as well: fn maybe_double(v: Option) -> Option { Some(v? * 2) } In fact, ? is a generic short-circuit o