As Kevlin Henney likes to point out in many of his presentations, a fundamental problem is mutable shared state. Sure, pure functions are one solution to this and they are extremely useful, but there are other ways that can be useful too. Better ways to handle value and reference semantics, for instance. I’m excited for what is being explored in Swift and Rust (and C++).