docs: def get_unique_name(name='', collection=()):
      '''
      Generate a unique name (str type) by appending a sequence number to
      the original name so that it is not contained in the collection.
      ``collection`` has a __contains__ method (tuple, list, dict, etc.)
      '''
      if name not in collection:
          return name
      i = 1
      while True:
          i += 1
          name2 = '%s_%s' % (name, i)
          if name2 not in collection:
              return name2