def converter_str(obj) -> str:
    """
    Ensures input is a unicode string.

    Parameters
    ----------
    obj: str
        Object to convert.

    Returns
    -------
    obj: str
        String.

    Raises
    ------
    TypeError
        If passed object is not string/byte-like.
    """
    if isinstance(obj, str):
        return obj
    elif isinstance(obj, bytes):
        return obj.decode("utf-8")
    else:
        raise TypeError(
            "Object of type {type} is not a string: {obj}".format(
                obj=obj, type=type(obj).__name__
            )
        )