Something similar to this probably has been asked and answered before, but my search-Fu is not strong enough to find the answer.
I can’t figure out why the last comparison doesn’t succeed.
julia> x
([1], [1])
julia> typeof(x)
Tuple{Vector{Int64}, Vector{Int64}}
julia> typeof(x) <: Tuple
true
julia> typeof(x) <: Tuple{Vector, Vector}
true
julia> a
3-element Vector{Tuple{Vector{Int64}, Vector{Int64}}}:
([1], [1])
([1], [1])
([1], [1])
julia> typeof(a)
Vector{Tuple{Vector{Int64}, Vector{Int64}}} (alias for Array{Tuple{Array{Int64, 1}, Array{Int64, 1}}, 1})
julia> typeof(a) <: Vector
true
julia> typeof(a) <: Vector{Tuple}
false
I verified the “almost” full type, using Int but not Int64, does work.
julia> typeof(a) == Vector{Tuple{Vector{Int},Vector{Int}}}
true
Strangely, this doesn’t work…
julia> typeof(a) == Vector{Tuple{Vector{Number},Vector{Number}}}
false
even though
julia> Int64 <: Number
true