paramfunc.h refactoring: template hell