// // Factorial, with recursive tail call optimization // def fact(n number, acc number) number { if n == 1 { return acc; } else { return fact(n - 1, acc * n); } } println("fact 20: ", fact(20, 1));