                                       (:atom-generators @push-argmap))))
     (swap! push-argmap assoc
            :replace-child-that-exceeds-size-limit-with :empty))
-  (when (> (:tag-enrichment argmap) 0)
-    (swap! push-argmap assoc
-           :atom-generators 
-           (let [tag-instructions [(tag-instruction-erc 
-                                     [:integer :boolean :exec :float 
+  (when (> (:tag-enrichment @push-argmap) 0)
+    (swap! push-argmap assoc
+           :atom-generators
+           (let [tag-instructions [(tag-instruction-erc
+                                     [:integer :boolean :exec :float
                                       :char :string :code] 10000)
                                    (untag-instruction-erc 10000)
                                    (tagged-instruction-erc 10000)

          ;; Function that takes a program and returns a list of errors.

          :error-threshold 0
          ;; Pushgp will stop and return the best program if its total error 
          ;; is <= error-threshold.

          :atom-generators (into @registered-instructions

  ([argmap]
   (load-push-argmap argmap)
   (reset-globals)))
