Collecting Base.Broadcast.Broadcasted

when overloading broadcasted() one may sometimes want to call collect. However, this seems to not remember the size:

julia> a = reshape(1:100,(10,10))
10×10 reshape(::UnitRange{Int64}, 10, 10) with eltype Int64:
  1  11  21  31  41  51  61  71  81   91
  2  12  22  32  42  52  62  72  82   92
  3  13  23  33  43  53  63  73  83   93
  4  14  24  34  44  54  64  74  84   94
  5  15  25  35  45  55  65  75  85   95
  6  16  26  36  46  56  66  76  86   96
  7  17  27  37  47  57  67  77  87   97
  8  18  28  38  48  58  68  78  88   98
  9  19  29  39  49  59  69  79  89   99
 10  20  30  40  50  60  70  80  90  100

julia> b = Base.Broadcast.Broadcasted(+, (a, 100))
Base.Broadcast.Broadcasted(+, ([1 11 … 81 91; 2 12 … 82 92; … ; 9 19 … 89 99; 10 20 … 90 100], 100))

julia> size(b)
(10, 10)

julia> size(collect(b))
(100,)

Does one need to always use reshape(collect, size(b)) or is there a better way?

Note that the shape is preserved in this example in Julia 1.9.

Ah. I see.