What if either `lat` or `lon` return zero? It's largely a theoretical problem but rather check against None?