Union splitting and AbstractArray

type parameters are invariant in Julia:

julia> v = [1,2,3];

julia> typeof(v)
Vector{Int64} (alias for Array{Int64, 1})

julia> v isa AbstractArray{Real}
false

julia> v isa AbstractArray{<:Real}
true

https://docs.julialang.org/en/v1/manual/types/#Parametric-Abstract-Types