Just for the record, Clojure has a good system for managing mutable state when you need it, of course has java interop so there's nothing from stopping you from mutating java objects.
Edit: Here's a guys experiences from making a game in Clojure a year ago: