                         (/ 1 (+ (/ 1 combination-rate) 1)))
         after-combination (vec 
                             (apply concat
-                                   (map (fn [g1 g2]
-                                          (if (< (lrand) combination-rate)
-                                            (lshuffle [g1 g2])
-                                            [g1]))
-                                        (:genome parent1)
-                                        (cycle (:genome parent2)))))
+                                   (mapv (fn [g1 g2]
+                                           (if (< (lrand) combination-rate)
+                                             (lshuffle [g1 g2])
+                                             [g1]))
+                                         (:genome parent1)
+                                         (cycle (:genome parent2)))))
         new-genome (vec (filter identity
-                                (map #(if (< (lrand) deletion-rate) nil %)
-                                     after-combination)))]
+                                (mapv #(if (< (lrand) deletion-rate) nil %)
+                                      after-combination)))]
     (make-individual :genome new-genome
                      :history (:history parent1)
                      :age ((age-combining-function argmap) parent1 parent2 new-genome)

                        0
                        (/ 1 (+ (/ 1 addition-rate) 1)))
        after-addition (vec (apply concat
                                   (map #(if (< (lrand) addition-rate)
                                           (lshuffle [% 
                                                      (random-plush-instruction-map 
                                                        atom-generators argmap)])
                                           [%])
                                        (:genome ind))))
        new-genome (vec (filter identity
                                (map #(if (< (lrand) deletion-rate) nil %)
                                     after-addition)))]
    (make-individual :genome new-genome
                     :history (:history ind)
                     :age (inc (:age ind))

        :is-random-replacement
        (if use-child false true)))))

