What's the difference between extraneous and invalid packages?