I think there's too many ways this can break. You were right that we should just include an NSURL. Let's change back and remove the individual part properties and just stick with a URL for the result, particularly as NSURL explicitly supports the `username:password@` pattern.