Added SaveResult type for better validation error handling