little program that involves /oloopingand conditional statements as pure expression with recursion (in factas function object that can be passed elsewhere if desiredwe do still utilize the utility function identity_print()but this function is completely generaland can be reused in every functional program expression we might create later (it' one-time costnotice that any expression containing identity_print(xevaluates to the same thing as if it had simply contained xit is only called for its / side effect eliminating recursion as with the simple factorial example given abovesometimes we can perform "recursion without recursionby using func tools reduce(or other folding operations (other "foldsare not in the python standard librarybut can easily be constructed and/or occur in third-party librariesa recursion is often simply way of combining something simpler with an accumulated intermediate resultand that is exactly what reduce(does at heart slightly longer discussion of functools reduce(occurs in the on higher-order functions (avoidingflow control