immutable data structures are so frustrating to work with because instead of doing something like this:
data["foo"]["bar"]["baz"] += 1
you have to do this:
new_value = data["foo"]["bar"]["baz"] + 1
data = data.set("foo",
data["foo"].set("bar",
data["bar"].set("baz", new_value)
)
)
Δ-44203.1 'Carbon'
mx @kasdeya, this one is so sad to tell you that this is one of the features that this one likes from Common Lisp. (setf (get-baz (get-bar (get-foo data))) new-value).