The goal of Accessors.jl is to make updating immutable data simple. It is the successor of Setfield.jl.
Updating immutable data was never easier:
using Accessors
@set obj.a.b.c = d
To get started, see this tutorial and/or watch this video:
- AccessorsExtra.jl [docs] implements setters for types from other packages and includes additional optics