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?