Hmm makes sense; so maybe return Intermediate instead of Invalid if the address isn't fully valid?