I think it makes more sense to collect all these cases at the top and fail only once.