Why Programmers Need Limits
Charles Scalfani

You make a good point that pure functions can help with problems related to global mutable state.

Rust language has an alternative solution which is very interesting: limiting the sharing of mutable state, which is the most fascinating development in mainstream-ish programming languages lately, in my opinion.