It's a bunch of syntax sugar.
The proposal is that instead of typing this:
fn foo(b : bool) -> Result<Bar,Baz> {
...
return Ok(bar);
...
return Err(baz);
}
you can type: fn foo() -> Bar throws Baz {
...
return bar;
...
throw baz; //or yeet, in this proposal
}
and it works exactly identically as the first example. ? still works inside the function just as it normally would. I find the proposal sort of pointless, but also totally harmless, so why not.