My big piece of work this week has been focused on refactoring our older Clojure code (started in 2011) that used global singleton atoms to match our newer code that uses Component systematically.
It’s slow going and it really does underscore just how bad global shared state really is. We have close to 75,000 lines of Clojure these days and this will be a major refactor over the coming weeks.
My advice, when it comes to global shared state: Just Say No!