"Objects" in Clojure: design choices for data and (polymorphic) operations | Heykuki News