show: print types using exported type-aliases (#36107)
For example, this prints Array{T,1} as Vector{T} and Array{T,2} as
Matrix{T} and Base.GenericIOBuffer{Array{UInt8,1}} as IOBuffer,
and thus generalizes some existing code.
Co-authored-by: Kristoffer Carlsson <kristoffer.carlsson@chalmers.se>