benleggiero
03/02/2018, 2:42 AMlet
, and the intuitive, AFAICT flawless copy-on-write behavior that unlocks so much peace-of-mind especially when dealing with concurrency, and how you can define functions as mutating
and then they won't be usable on immutable objects, removing the need for separate Foo
and MutableFoo
types.
It's such a defining feature of the language in a way other non-ObjC features (like protocol extensions, true genetics, and guard statements) aren't. And it's all so easy to use that it feels just right, like it's no big deal as you say.