Functional programming languages should be so much better at mutation than they are A lot of people think that functional programming is mostly about avoiding mutation at all costs. Even though persistent data structures are great and there is definitely some truth to it, this view just doesn't really hold up in reality. Many data structures fundamentally require some form of mutation (e.g. union