I prefer this as well. Custom error types, yes please.