@eekboom Yes, but by making it explicit you can say "I expect this to be tail-recursion optimized" and you will get a compile-error if it does not work. Without this modifier you have to guess and look at the bytecode whether the code was actually optimized and a small, innocent change might suddenly make the optimization not work anymore and suddenly your application performs worse or crashes with stack overflow.