Because you don't know what happened. I pull a few thousand addresses from a database, and for each address:
- Some addresses will be correct.
- Some addresses will be incorrect and unable to be mapped.
- Some addresses will return a "you're asking too fast, retry later" status, and so a delay needs to be done followed by a retry - by the calling application.
A null cannot cover all these. The calling application can't work out what to do just given that.
There is another change in it to not load geocode's from the cache that say "timed out", because previous versions have stored timed out ones in there, and they will come back forever.