def detect_unicode_support():
    ''' Try to detect unicode (utf8?) support in the terminal.

        Experimental, implementation idea is from the link below:
           https://unix.stackexchange.com/questions/184345/detect-how-much-of-unicode-my-terminal-supports-even-through-screen

        TODO:
            needs improvement.
            # should return None or True on redirection?

        Returns:
            Boolean | None if not a TTY
    '''
    result = None

    if env.LANG and env.LANG.endswith('UTF-8'):  # approximation
        result = True

    elif is_a_tty():
        if os_name == 'nt':
            from .windows import get_position as _get_position
        else:
            _get_position = get_position

        out = sys.stdout
        # what if cursor is not at beginning of line?
        x, _ = _get_position()
        out.write('é')
        out.flush()
        x2, _ = _get_position()

        difference = x2 - x
        if difference == 1:
            result = True
        else:
            result = False  # 0, 2 - no

        # clean up
        out.write(BS)
        out.flush()

    return result