I forgot to mention one of my main finds regarding clojure -- a nice Qt interface, and working well w/ multithreaded...
As you'd expect from Clojure, the concurrency part of the app was a no-brainer. There are a bunch of threads hammering on a single global hash list of email messages, and they're all forcing updates of the GUI, but throw a bunch of dosync's around certain bits of code and it all works without worry. (Qt's invokeLater is also necessary if you're updating a Qt GUI from more than one thread at a time.)
My first version of this app had even more threads, with one thread updating the GUI every few seconds, and another master thread managing all the mail threads. It also worked fine. It was overkill so I scaled it down, but it's really nice how you can coordinate a bunch of threads and don't have to worry about deadlocks and race conditions and whether your data structures are thread-safe.