       (dyn-init-var *ns* msym# (atom nil))))
   ([sym init-value]
    `(let [msym# (with-meta (quote ~sym) {:private true})]
-      (dyn-init-var *ns* msym# (atom (quote ~init-value))))))
+      (dyn-init-var *ns* msym# (atom ~init-value)))))
 
 (defmacro undef
   "Unbind a variable in the current namespace.  Just like:

      (dyn-init-var *ns* msym# (atom nil))))
  ([sym init-value]
   `(let [msym# (quote ~sym)]
      (dyn-init-var *ns* msym# (atom (quote ~init-value))))))

(defmacro defnc-
  "Create a private variable binding out of **sym** that doesn't already exist

  See [[defa]], [[defnc-]] and [[undef]]."
  ([sym init-value]
   `(let [msym# (quote ~sym)]
      (dyn-init-var *ns* msym# ~init-value))))

(defmacro defa
  "Just like [[defnc]] but the initialization value is an atom created
