Why does `similar(::SharedArray)` create an `Array`?

@fredrikekre Thank you very much for your fast reply.

At least, the behaviour of similar seems to be discussed controversially, see also https://github.com/JuliaLang/julia/issues/22218. I’m still confused by

ulia> u0 = SharedArray{Float64}(2,3)
2×3 SharedArray{Float64,2}:
 0.0  0.0  0.0
 0.0  0.0  0.0

julia> copy(u0)
2×3 Array{Float64,2}:
 0.0  0.0  0.0
 0.0  0.0  0.0

julia> deepcopy(u0)
2×3 SharedArray{Float64,2}:
 0.0  0.0  0.0
 0.0  0.0  0.0

What is the recommended way to copy a SharedArray and get a SharedArray? Is it deepcopy? Or something like SharedArray(copy(::SharedArray))?