> The value proposition is only there when you have more elaborate concurrency needs
I see the value every day when I look at a shitty piece of JavaScript or Python code that secretly modifies some global state behind the scenes.
Or when I want to do dependency injection without resorting to frameworks doing some magic. Yes, I could drill my dependencies through the entire call stack, and often do because it's nicely explicit. But stuff like `logger` really doesn't belong in the function signature if it can be avoided.
I see the value every day when I look at a shitty piece of JavaScript or Python code that secretly modifies some global state behind the scenes.
Or when I want to do dependency injection without resorting to frameworks doing some magic. Yes, I could drill my dependencies through the entire call stack, and often do because it's nicely explicit. But stuff like `logger` really doesn't belong in the function signature if it can be avoided.