You can consider high_ord_func
as taking 2 arguments, the first is the value of x, and the second is the form of a function to evaluate.
Your second line is evaluating that function for x = 2 and func = x*x
This expands as:
x + func(x) = x + x*x = 2 + 2*2 = 6