No. It’s the same reason that
julia> isconcretetype(Array)
false
julia> isconcretetype(Tuple)
false
julia> isconcretetype(Pair)
false
but
julia> isconcretetype(Array{Float32,3})
true
julia> isconcretetype(Tuple{Int,String})
true
julia> isconcretetype(Pair{Symbol,Any})
true
Until all the parameters are specified, it’s not concrete. As I said above, “Any time you have abstract parameters you will get inference failures.”