def str_validator(v) -> str:
    if isinstance(v, (str, NoneType)):
        return v
    elif isinstance(v, (bytes, bytearray)):
        return v.decode()
    elif isinstance(v, (float, int, Decimal)):
        return str(v)
    else:
        raise TypeError(f'str or byte type expected not {display_as_type(v)}')
def str_validator(v) -> str:
    if isinstance(v, (str, NoneType)):
        return v
    elif isinstance(v, (bytes, bytearray)):
        return v.decode()
    elif isinstance(v, (float, int, Decimal)):
        return str(v)
    else:
        raise TypeError(f'str or byte type expected not {display_as_type(v)}')