@staticmethod
def write_dl(formatter, rows: Sequence[Tuple[(str, str)]], col_max: int=30, col_spacing: int=2) -> None:
    rows = list(rows)
    widths = measure_table(rows)
    if (len(widths) != 2):
        raise TypeError('Expected two columns for definition list')
    first_col = (min(widths[0], col_max) + col_spacing)
    for (first, second) in iter_rows(rows, len(widths)):
        formatter.write(f"{'':>{formatter.current_indent}}{first}")
        if (not second):
            formatter.write('\n')
            continue
        if (len(first) <= (first_col - col_spacing)):
            formatter.write((' ' * (first_col - len(first))))
        else:
            formatter.write('\n')
            formatter.write((' ' * (first_col + formatter.current_indent)))
        if ('[' in second):
            (text, meta) = second.split('[')
            formatter.write(f'''[{meta} {text}
''')
        else:
            formatter.write(f'''{second}
''')
@staticmethod
def write_dl(formatter, rows: Sequence[Tuple[(str, str)]], col_max: int=30, col_spacing: int=2) -> None:
    rows = list(rows)
    widths = measure_table(rows)
    if (len(widths) != 2):
        raise TypeError('Expected two columns for definition list')
    first_col = (min(widths[0], col_max) + col_spacing)
    for (first, second) in iter_rows(rows, len(widths)):
        formatter.write(f"{:>{formatter.current_indent}}{first}")
        if (not second):
            formatter.write('\n')
            continue
        if (len(first) <= (first_col - col_spacing)):
            formatter.write((' ' * (first_col - len(first))))
        else:
            formatter.write('\n')
            formatter.write((' ' * (first_col + formatter.current_indent)))
        if ('[' in second):
            (text, meta) = second.split('[')
            formatter.write(f'[{meta} {text}
')
        else:
            formatter.write(f'{second}
')