wrapping clojure.core/defrecord