Closures aren't more expensive than what you use; they're not heap-allocated by default, and a closure that doesn't close over everything should end up being a regular old function.
We just merged an RFC for ? syntax, which should make error handling less verbose.
We just merged an RFC for ? syntax, which should make error handling less verbose.