I have two objects with similar type
julia> typeof(price)
PArr{Int64,PArr{Int64,Float64}}
julia> typeof(flag)
PArr{Int64,PArr{Int64,Char}}
I want to put them both in an array, so I use a unionall
qs = (PArr{Int,PArr{Int,w}} where {w})[price,flag];
I have a function that makes a copy of each
julia> rs = share2(status,qs);
Now both the input and output have the same type
julia> typeof(qs)
Array{PArr{Int64,PArr{Int64,w}} where w,1}
julia> typeof(rs)
Array{PArr{Int64,PArr{Int64,w} where w},1}
But when I select an individual element from both, they have different types.
julia> typeof(qs[1])
PArr{Int64,PArr{Int64,Float64}}
julia> typeof(rs[1])
PArr{Int64,PArr{Int64,w} where w}
There must be someway of computing the type of rs[1], so that I can pass
it to a function that demands PArr{Int64,PArr{Int64,Float64}},