src/basilisp/lang/runtime.py
def _trampoline(f):
    """Trampoline a function repeatedly until it is finished recurring to help
    avoid stack growth."""

    @functools.wraps(f)
    def trampoline(*args, **kwargs):
        while True:
            ret = f(*args, **kwargs)
            if isinstance(ret, _TrampolineArgs):
                args = ret.args
                kwargs = ret.kwargs
                continue
            return ret

    return trampoline
def _trampoline(f):
    @functools.wraps(f)
    def trampoline(*args, **kwargs):
        while True:
            ret = f(*args, **kwargs)
            if isinstance(ret, _TrampolineArgs):
                args = ret.args
                kwargs = ret.kwargs
                continue
            return ret

    return trampoline
def _trampoline ( f ) : @ functools . wraps ( f ) def trampoline ( * args , * * kwargs ) : while True : ret = f ( * args , * * kwargs ) if isinstance ( ret , _TrampolineArgs ) : args = ret . args kwargs = ret . kwargs continue return ret return trampoline
Trampoline a function repeatedly until it is finished recurring to help
    avoid stack growth.
Trampoline a function repeatedly until it is finished recurring to help avoid stack growth .