docs: def _byteify(input):
      """
      Force the given input to only use `str` instead of `bytes` or `unicode`.
      This works even if the input is a dict, list,
      """
      if isinstance(input, dict):
          return {_byteify(key): _byteify(value) for key, value in input.items()}
      elif isinstance(input, list):
          return [_byteify(element) for element in input]
      elif _PYTHON_3 and isinstance(input, str):
          return str(input.encode('ascii', 'replace').decode('ascii'))
      elif not _PYTHON_3 and isinstance(input, unicode):
          return str(input.encode('ascii', 'replace').decode('ascii'))
      else:
          return input