A question about co/countervariance: `f((x, y)::Tuple{Int, Any}) = 1`

A question about co/countervariance:

julia> f((x, y)::Tuple{Int, Any}) = 1
f (generic function with 1 method)

julia> f((1,1))
1

julia> f((x, y)::Pair{Int, Any}) = 1
f (generic function with 2 methods)

julia> f((1=>1))
ERROR: MethodError: no method matching f(::Pair{Int64,Int64})

Are tuples special in this regard?

@jakobnissen

Yes, they are

@mschauer

Thanks, I think I just understood something important