def METHOD_NAME(
    definition: tuple[str, ...], *trail: str
) -> Generator[tuple[str, ...], None, None]:
    for arg in definition:
        if arg not in definitions:
            yield (arg,)
        else:
            if arg in trail:
                raise CliAliasCycleError(
                    "CLI alias cycle detected in `[cli].alias` option:\n"
                    + " -> ".join([arg, *trail])
                )
            yield from METHOD_NAME(definitions[arg], arg, *trail)