scope of function-parameters



  apply(f,[x])  works because it uses the value binding of f  to find a 
function, whereas
f(x) uses the function binding of f, and based on the conventional lisp 
way of doing this
from 1966, it uses the global function definition.

If you can use apply(f,[x])  or something similar, that would solve your 
problem.

What some people do is they just use a very odd name and hope no one 
else uses it. e.g.

test(%%f, x) := .....

RJF