AVOID using a parameter name that is the same as an existing type.
BAD:
m(f(int));
GOOD:
m(f(int v));