List is now using trampoline instead of plain old recursion.