The goal of Accessors.jl is to make updating immutable data simple. It is the successor of Setfield.jl.
Accessors.jl is currently in an experimental stage. We may introduce breaking changes without clear deprecation path. For a more stable package we recommend 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: