Reviving proper tail calls in JavaScript?
github.com