throw makes more sense to me. With next(error) it required a lot more code to return at the right time.