Excellent, thanks! The thing I don’t understand is why Union{} is apparently “below” Foo but not Foo{Ta,Tb,Tc}:
julia> Union{} <: Foo
true
julia> Union{} <: Foo{Int64,Int64,Int64}
true
julia> Union{} <: Bool
true
julia>
Isn’t Union{} below everything, including concrete types?