When should you use clojure's object-oriented features | Dark Hacker News