This doesn't look meaningfully different from current error handling in Go.
It's basically the same syntactic sugar as `try!` in Rust, isn't it?