This is exactly as described in the manual. The compiler just mechanically skips specializations for Type, Function, and Vararg. Eg in the following example, the type is not even callable, but since it is <:Function, the rule still applies:
struct Foo{T} <: Function
x::T
end
bar(f::Foo) = f.x # ain' t calling anything
f = Foo(2)
bar(f)
Base.specializations(@which bar(f)) # empty
But of the 3 exceptions above, you can only do this trick with Function, as the compiler complains if you try to subtype Vararg and Type.