A type-safe way to emulate tail-call optimization with trampolines
github.com/kschat/trampoline-ts
kschat/trampoline-ts