committed to defn over defmacro