docs: def _normalize_tags_type(self, tags, device_name=None, metric_name=None):
          """
          Normalize tags contents and type:
          - append `device_name` as `device:` tag
          - normalize tags type
          - doesn't mutate the passed list, returns a new list
          """
          normalized_tags = []
  
          if device_name:
              self._log_deprecation("device_name")
              device_tag = self._to_bytes("device:{}".format(device_name))
              if device_tag is None:
                  self.log.warning(
                      'Error encoding device name `{}` to utf-8 for metric `{}`, ignoring tag'.format(
                          repr(device_name), repr(metric_name)
                      )
                  )
              else:
                  normalized_tags.append(device_tag)
  
          if tags is not None:
              for tag in tags:
                  encoded_tag = self._to_bytes(tag)
                  if encoded_tag is None:
                      self.log.warning(
                          'Error encoding tag `{}` to utf-8 for metric `{}`, ignoring tag'.format(
                              repr(tag), repr(metric_name)
                          )
                      )
                      continue
                  normalized_tags.append(encoded_tag)
  
          return normalized_tags