subscripted additive functions



I filed a bug report about this, but while I'm
thinking about it, consider:

(%i1) declare(f,additive)$
(%i2) f[a+b];
(%o2) f[b]+f[a]

Is this intended? If so, we have a problem:

(%i3) f[a+b](x);
Improper name or value in functional position:

In simp/simplifya, there is

 ((get (caar x) 'opers)
   (let ((opers-list *opers-list)) (oper-apply x y)))

Should this check that x isn't subscripted? Or maybe
if f is declared additive, every subscripted f
should be additive in its nonsubscripted variable:

   f(a+b) --> f(a) + f(b),
   f[1](a+b) --> f[1](a) + f[1](b), ...
   Barton