docs: def distance(self, other=None):
          """Return the geometric distance to the other location.
          If no object is provided, this will calculate the distance to the origin.
  
          ::
  
              >>> l = Location(pop=100)
              >>> m = Location(pop=200)
              >>> l.distance(m)
              100.0
              >>> l = Location()
              >>> m = Location(pop=200)
              >>> l.distance(m)
              200.0
              >>> l = Location(pop=3, snap=5)
              >>> m = Location(pop=7, snap=8)
              >>> l.distance(m)
              5.0
          """
          t = 0
          if other is None:
              other = self.__class__()
          for axisName in set(self.keys()) | set(other.keys()):
              t += (other.get(axisName,0)-self.get(axisName,0))**2
          return math.sqrt(t)