Are there zip codes that are 2 digits? I'd fall fallacy to this post and once again argue to the contrary. If this function is about formatting zip codes with leading zeros, and zip codes are either 4 or 3 digits. Why would an invalid zip code be passed to this method, a formatter?
Normally I'd agree with your argument about failing to meet a contract, but why would this formatter method get anything but a valid zip code.