A higher-order function application is a compound term of one of the following two forms
apply(Func, Arg1, Arg2, …, ArgN) FuncVar(Arg1, Arg2, …, ArgN)
where N >= 0, Func is a term of type ‘func(T1, T2, …, Tn) = T’, FuncVar is a variable of that type, and Arg1, Arg2, …, ArgN are terms of types ‘T1’, ‘T2’, …, ‘Tn’. The type of the higher-order function application term is T. It denotes the result of applying the specified function to the specified arguments. See Higher-order.