fcn fact(n){[2..n].reduce('*,1)} fcn factTail(n,N=1) { // tail recursion if (n == 0) return(N); return(self.fcn(n-1,n*N)); }