Understanding Specter: Clojure's missing piece