def toc_renders_as_coherent_list(
        header_type_curr: int = 1,
        indentation_list: list = build_indentation_list('github'),
        parser: str = 'github') -> bool:
    r"""Check if the TOC will render as a working list.

    :parameter header_type_curr: the current type of header (h[1-Inf]).
    :parameter parser: decides rules on how to generate ordered list markers
    :type header_type_curr: int
    :type indentation_list: list
    :type parser: str
    :returns: renders_as_list
    :rtype: bool
    :raises: a built-in exception.
    """
    assert header_type_curr >= 1
    if (parser == 'github' or parser == 'cmark' or parser == 'gitlab'
            or parser == 'commonmarker' or parser == 'redcarpet'):
        assert len(
            indentation_list) == md_parser[parser]['header']['max_levels']
    for e in indentation_list:
        assert isinstance(e, bool)

    renders_as_list = True
    if (parser == 'github' or parser == 'cmark' or parser == 'gitlab'
            or parser == 'commonmarker' or parser == 'redcarpet'):
        # Update with current information.
        indentation_list[header_type_curr - 1] = True

        # Reset next cells to False, as a detection mechanism.
        for i in range(header_type_curr,
                       md_parser['github']['header']['max_levels']):
            indentation_list[i] = False

        # Check for previous False cells. If there is a "hole" in the list
        # it means that the TOC will have "wrong" indentation spaces, thus
        # either not rendering as an HTML list or not as the user intended.
        i = header_type_curr - 1
        while i >= 0 and indentation_list[i]:
            i -= 1
        if i >= 0:
            renders_as_list = False

    return renders_as_list
r"""Check if the TOC will render as a working list.

    :parameter header_type_curr: the current type of header (h[1-Inf]).
    :parameter parser: decides rules on how to generate ordered list markers
    :type header_type_curr: int
    :type indentation_list: list
    :type parser: str
    :returns: renders_as_list
    :rtype: bool
    :raises: a built-in exception.