Tail recursive factorial, using block for scoping in newton square