The fuel for the functional programming engine. (Manning Publications, 2020)
Michał focuses on problems with mutable states and explains why pure functions can't use them in the majority of cases. The author of the "Grokking Functional Programming" book shows you how to fight mutability by working with immutable values.