This was an excellent read. This is a terrific article. Well-articulated and persuasive.
I agree 100 per cent. Functional programming has its place. Use it where it is most appropriate.
However, functional programming is not some universal methodology. It is not a programming panacea, as most FP proponents contend.
Immutability is not a perfect solution. There is a time and a place for mutating state.
There is a better analogy than your face-punching one. When you’re filling your gas tank, you don’t continuously replace your car with a new car that contains more gas. When modelling real-world solutions, you often need mutating state.