One idea, following the same docs example:
function println_vec(io::IO, v::Vector{Polar{Float64}})
iob = IOBuffer()
show(IOContext(iob, :compact=>true), v)
str = String(take!(iob))
('[' in str) && (str = '[' * last(split(str,'[')))
println(io, str)
end
function Base.show(io::IO, ::MIME"text/plain", vv::Vector{Vector{Polar{Float64}}})
println(io, "$(length(vv))-element Vector{Vector{Polar{Float64}}}:")
foreach(v -> println_vec(io, v), vv)
end
vv = [[Polar(3.0, 4.0), Polar(4.0, 5.3)], [Polar(-1.0, 1.0), Polar(0.0, -2)]]
# Result:
2-element Vector{Vector{Polar{Float64}}}:
[3.0ℯ4.0im, 4.0ℯ5.3im]
[-1.0ℯ1.0im, 0.0ℯ-2.0im]