In R 2.11.1 on Mac OS 10.6.4, the following code works, but if the print statement is removed or commented out, then an infinite recursion results. Can someone explain what is going on? Thanks. --Steve foo2=function(f1, f2){ print(f1) function(x){ f1(x) + f2(x) } } foo=function(...) Reduce(foo2, list(...)) foo(sin, cos, tan)(1)