I've been waiting for functional programming to have its day for more than 20 years. It just seems fundamentally at odds with how most people want to work.
You can make individual functions pure in any language, but do many languages enforce this at a core level? Or we have to behave ourselves and hope nothing we call is changed by another programmer later?