             index (mod (stack-ref :integer 0 state) (count genome))]
         (->> (pop-item :integer state)
              (pop-item :genome)
-             (push-item (concat (take index genome)
-                                (let [g (nth genome index)]
-                                  (list (assoc g :silent (not (:silent g)))))
-                                (drop (inc index) genome))
+             (push-item (assoc genome
+                          index
+                          (let [g (nth genome index)]
+                            (assoc g :silent (not (:silent g)))))
                         :genome)))
       state)))
 

            index (mod (stack-ref :integer 0 state) (count genome))]
        (->> (pop-item :integer state)
             (pop-item :genome)
             (push-item (concat (take index genome)
                                (list (random-plush-instruction-map 
                                        @global-atom-generators
                                        {:epigenetic-markers @global-epigenetic-markers
                                         :close-parens-probabilities @global-close-parens-probabilities
                                         :silent-instruction-probability @global-silent-instruction-probability}))
                                (drop (inc index) genome))
                        :genome)))
      state)))


  genome_new
  ^{:stack-types [:genome]}
  (fn [state]
    (push-item [] :genome state)))

(define-registered
  genome_parent1
  ^{:stack-types [:genome]}
  (fn [state]
    (push-item (vec (:parent1-genome state)) :genome state)))

(define-registered
  genome_parent2
  ^{:stack-types [:genome]}
  (fn [state]
    (push-item (vec (:parent2-genome state)) :genome state)))

(define-registered
  autoconstructive_integer_rand 
