Using a global variable is another workaround, but not much better :
Var do_this_param = 0;
FUNCTION do_this(param){ ...}
FUNCTION do_this(){ do_this(do_this_param)}
...
on_p = do_this;
...
do_this_param = 7 ; // change whenever needed
Btw, I think there are so few functions in the templates, because the templates are
only updated/extended, but not rewritten (but thats ok for me)