Newcomers to functional programming (FP) are often very confused about the proper way to share state without breaking purity and end up having a mix of pure and impure code that defeats the purpose of having pure FP code in the first place. This is the reason that has motivated me to write a beginner friendly guide :) Use Case We have a program that runs three computations at the same time and updates the internal state to keep track of the tasks that have been completed. When all the tasks a...