f x y is a list, since it is equal to (x+1)::y, and operator :: yields a list.