Consider:
(%i1) declare(f,additive)$
(%i2) f(x) := if mapatom(x) then 5 else funmake(f,[x])$
(%i3) f(a+b);
(%o3) f(b)+f(a)
(%i4) ev(%);
(%o4) 10
The output %o3 is simplified, but it isn't evaluated. Is this a
bug? I think it is, but I'm not sure I know how to fix it and
be certain that I have not created a possible infinite loop.
Barton