tail call optimization
tail call optimization of (begin ...)