How to pre-allocate an Array of UnitRange (specifically a SharedArray of Tuple of UnitRange)?

Question

Is there a shorter or better way to pre-allocate indsTup and inds as shown below? :

indsTup = [(1:2,1:2)]
for i in 1:10
	push!(indsTup,(1:2,1:2))
end
indsTup = SharedArray(indsTup)

inds = [1:2]
for i in 1:10
	push!(inds,1:2)
end
inds = SharedArray(inds)

julia> typeof(inds) # how do I pre-allocate this?
SharedVector{UnitRange{Int64}} (alias for SharedArray{UnitRange{Int64}, 1})

julia> typeof(indsTup) # how do I pre-allocate this?
SharedVector{Tuple{UnitRange{Int64}, UnitRange{Int64}}} (alias for SharedArray{Tuple{UnitRange{Int64}, UnitRange{Int64}}, 1})

The former is possible with indsTup = SharedArray{typeof((1:2, 1:2))}((11,)). The latter is similar and easier.

See Shared Arrays ยท The Julia Language

Sample code:

using Distributed
using SharedArrays

rmprocs(procs()[2:end]) # Do not allow processes to proliferate unlimitedly on Jupyter, etc.
addprocs(4)

S = SharedArray{typeof((1:2, 1:2))}((10,))

Output:

10-element SharedVector{Tuple{UnitRange{Int64}, UnitRange{Int64}}}:
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)
 (0:0, 0:0)

Code:

for k in eachindex(S)
    remotecall_fetch(workers()[mod1(k, nworkers())]) do
        pid = myid()
        S[k] = (pid:2pid, 3pid:4pid)
    end      
end
S

Output:

10-element SharedVector{Tuple{UnitRange{Int64}, UnitRange{Int64}}}:
 (2:4, 6:8)
 (3:6, 9:12)
 (4:8, 12:16)
 (5:10, 15:20)
 (2:4, 6:8)
 (3:6, 9:12)
 (4:8, 12:16)
 (5:10, 15:20)
 (2:4, 6:8)
 (3:6, 9:12)