from typing import Callable, Any class tailRecursion: """Tail-call optimization wrapper.""" f: Callable[..., Any] args: tuple[Any, ...] kwargs: dict[str, Any] def __init__(self, func: Callable[..., Any], *args: Any, **kwargs: Any) -> None: self.f: Callable[..., Any] = func self.args: tuple[Any, ...] = args self.kwargs: dict[str, Any] = kwargs def __call__(self) -> Any: return self.f(*self.args, **self.kwargs) @staticmethod def eval(val: Any) -> Any: """Evaluate tail calls recursively until completion.""" while isinstance(val, tailRecursion): val = val() return val