docs: def SmartUnicode(string):
    """Returns a unicode object.
  
    This function will always return a unicode object. It should be used to
    guarantee that something is always a unicode object.
  
    Args:
      string: The string to convert.
  
    Returns:
      a unicode object.
    """
    if isinstance(string, Text):
      return string
  
    if isinstance(string, bytes):
      return string.decode("utf-8", "ignore")
  
    # TODO: We need to call `__native__` because otherwise one of the
    # Selenium tests becomes flaky. This should be investigated.
    if compatibility.PY2:
      return str(string).__native__()
    else:
      return str(string)