def _char_in_braces(full_s, char_position):
    """

    Checks if a given position in a string lies between braces.
    Note: This is a rough solution, but more than sufficient. A robust solution would require a state machine.

    :param full_s: a string.
    :type full_s: ``str``
    :param char_position: a position in the string.
    :type char_position: ``int``
    :return: ``True`` if yes, else ``False``
    :rtype: bool
    """
    if not isinstance(full_s, str):
        raise ValueError('`full_s` must be a string.')
    if not isinstance(char_position, int):
        raise ValueError('`char_position` must be an int.')
    for pair in ('()', '[]', '{}'):
        if pair[0] in full_s[:char_position] and pair[1] in full_s[
            char_position:]:
            return True
    else:
        return False
