Clojure's approach to state is often cited as being great for concurrency, but it really simplifies things across the board. Old hat for those coming from an ML background, but for most this is a huge benefit vs traditional OO: http://clojure.org/state