z is a list, since it occurs as the second argument of ::, which is always a list.
y is a function, since it is applied to x in the expression.
f(2) yields a function.