docs: def asString(self, strict=False):
          """
          Return the location as a string.
          ::
          
              >>> l = Location(pop=1, snap=(-100.0, -200))
              >>> l.asString()
              'pop:1, snap:(-100.000,-200.000)'
          """
          if len(self.keys())==0:
              return "origin"
          v = []
          n = []
          try:
              for name, value in self.asTuple():
                  s = ''
                  if value is None:
                      s = "None"
                  elif type(value) == tuple or type(value) == list:
                      s = "(%.3f,%.3f)"%(value[0], value[1])
                  elif int(value) == value:
                      s = "%d"%(int(value))
                  else:
                      s = "%.3f"%(value)
                  if s != '':
                      n.append("%s:%s"%(name, s))
              return ", ".join(n)
          except TypeError:
              import traceback
              print("Location value error:", name, value)
              for key, value in self.items():
                  print("\t\tkey:", key)
                  print("\t\tvalue:", value)
              traceback.print_exc()
              return "error"