Actually, doing a minor clean-up of this code, I notice an inconsistency: this code says the number is invalid if *all* parts consist entirely of zeroes. But the docstring says it is invalid if *any* part consists entirely of zeroes. Which is it?