Use trampoline to eliminate tail calls