docs: def increase_index_ordered_list(header_type_count: dict,
                                  header_type_prev: int,
                                  header_type_curr: int,
                                  parser: str = 'github'):
      r"""Compute the current index for ordered list table of contents.
  
      :parameter header_type_count: the count of each header type.
      :parameter header_type_prev: the previous type of header (h[1-Inf]).
      :parameter header_type_curr: the current type of header (h[1-Inf]).
      :parameter parser: decides rules on how to generate ordered list markers.
           Defaults to ``github``.
      :type header_type_count: dict
      :type header_type_prev: int
      :type header_type_curr: int
      :type parser: str
      :returns: None
      :rtype: None
      :raises: GithubOverflowOrderedListMarker or a built-in exception.
      """
      # header_type_prev might be 0 while header_type_curr can't.
      assert header_type_prev >= 0
      assert header_type_curr >= 1
  
      # Base cases for a new table of contents or a new index type.
      if header_type_prev == 0:
          header_type_prev = header_type_curr
      if (header_type_curr not in header_type_count
              or header_type_prev < header_type_curr):
          header_type_count[header_type_curr] = 0
  
      header_type_count[header_type_curr] += 1
  
      if (parser == 'github' or parser == 'cmark' or parser == 'gitlab'
              or parser == 'commonmarker'):
          if header_type_count[header_type_curr] > md_parser['github']['list'][
                  'ordered']['max_marker_number']:
              raise GithubOverflowOrderedListMarker