What is wrong with this rule?



One guess:
if you have a rule like e*f(x)*g(y),  then it could try to match
3*f(4)*g(5)   by matching
e= 3*f(4)    and then failing.

You don't want e to match "anything at all".  You want e to match
something not involving any f( ..).

RJF