macro_rules! throw { ($err:expr) => { ... }; }
Creates a new Result::Err(Trace<E>) and immediately returns it.
Result::Err(Trace<E>)
This relies on the return type of the function to provide type inference for the Result::Ok(T) type.
Result::Ok(T)