Destructuring, records, protocols and named arguments in Clojure | Hacker News Reader