All algorithms are now fruitful -- they produce an output without modifying any of their input arguments