anchor.diff:  
            (location (cdr (assoc :location (cdr (assoc :geometry results)))))
            city
  +         neighborhood
            country
            number
            street
            state
            zip)
  +    ;; google doesn't reliably return the city name, so we are using the neighborhood name as a backup
   
       (iter (for component in (cdr (assoc :address--components results)))
             (until (and city state country number street zip))
  
positive.code:     (values (cdr (assoc :lat location))
              (cdr (assoc :lng location))
              (cdr (assoc :formatted--address results))
              city
              state
              country
              (format nil "~a ~a" number street)
  
negative.code:               ((member "postal_code" types :test #'string=)
                 (setf zip (cdr (assoc :short--name component))))
  
                ((member "sublocality_level_1" types :test #'string=)
                 (setf neighborhood (cdr (assoc :short--name component))))
  
                ((member "locality" types :test #'string=)
                 (setf city (cdr (assoc :long--name component)))))))
  
  