@jw3126 's Accessors.jl may be of interest here.
julia> using Accessors
julia> @set A[1].x = 90
10-element Vector{Foo}:
Foo(90, 1027, 5)
Foo(7, 2569, 11)
Foo(13, 4111, 17)
Foo(19, 5653, 23)
Foo(25, 7195, 29)
Foo(31, 8737, 35)
Foo(37, 10279, 41)
Foo(43, 11821, 47)
Foo(49, 13363, 53)
Foo(55, 14905, 59)
julia> @set A[1].y = 100
10-element Vector{Foo}:
Foo(1, 100, 5)
Foo(7, 2569, 11)
Foo(13, 4111, 17)
Foo(19, 5653, 23)
Foo(25, 7195, 29)
Foo(31, 8737, 35)
Foo(37, 10279, 41)
Foo(43, 11821, 47)
Foo(49, 13363, 53)
Foo(55, 14905, 59)
This is a JuliaCon presentation of Accessors.jl predecessor SetField.jl.