Immutable data-structures are useful, but also it is quite a lot of work to transform a codebase written with mutable data-structures into one with immutable ones. This is because mutability is a "viral" property.
I think it's interesting that Elm and ClojureScript have chosen immutability as the default. I wonder what other languages have chosen this.
you also have Haskell for immutability by default and with no other option :)