Woops, sorry about the missing function definition after the line: "unaryFun takes the string argument and might create this function:"
This should be maybe: int unaryFun(int a) { return (a & 1) == 0; } But that's oversimplification since that instantiation is a function template itself, not a specific function.