def METHOD_NAME() -> None:
    def _get_next(previous: tkns.Token | None) -> tkns.Token:
        generators = [
            random_plain,
            random_color,
            random_style,
            random_clear,
        ]
        if previous is not None and (previous.is_plain() or previous.is_hyperlink()):
            generators.remove(random_plain)
        return random.choice(generators)()
    tokens = []
    previous = None
    for _ in range(50):
        previous = _get_next(previous)
        tokens.append(previous)
    markup = tokens_to_markup(tokens)
    ansi = tim.parse(markup, append_reset=False)
    reverse = list(tokenize_ansi(ansi))
    for expected, real in zip_longest(tokens, reverse, fillvalue=None):
        if expected != real:
            print(expected, real, sep=" != ")
        assert expected == real, f"Expected {expected}, got {real}"
    assert tokens == reverse