Full Idea
In second-order logic there are three kinds of variables, for objects, for functions, and for predicates or sets.
Gist of Idea
Three types of variable in second-order logic, for objects, functions, and predicates/sets
Source
E Reck / M Price (Structures and Structuralism in Phil of Maths [2000], §5)
A Reaction
It is interesting that a predicate seems to be the same as a set, which begs rather a lot of questions. For those who dislike second-order logic, there seems nothing instrinsically wicked in having variables ranging over innumerable multi-order types.