                           (if (not (:print-history argmap))
                             (throw 
                               (Exception. 
-                                ":print-history must be true for :discounted-total-error-improvement-ratio"))
+                                ":print-history must be true, :discounted-total-error-improvement-ratio"))
                             (if (empty? (rest (:history ind)))
                               1000000
                               (let [diffs (mapv (fn [[a b]] (- a b))

            me (calculate-meta-errors new-ind argmap)]
        (assoc new-ind :meta-errors me)))))


                                 g
                                 (produce-child-genome-by-autoconstruction g g argmap))))
                          ;
                          (= cat :reproductive-infidelity)
                          (let [g (:genome ind)]
                            (sequence-similarity
                              g
                              (produce-child-genome-by-autoconstruction g g argmap)))
                          ;
                          (= cat :reproductive-consistency)
                          (let [g (:genome ind)]
                            (- 1.0
                               (sequence-similarity
                                 (produce-child-genome-by-autoconstruction g g argmap)
                                 (produce-child-genome-by-autoconstruction g g argmap))))
                          (= cat :reproductive-inconsistency)
                          (let [g (:genome ind)]
                            (sequence-similarity
                              (produce-child-genome-by-autoconstruction g g argmap)
                              (produce-child-genome-by-autoconstruction g g argmap)))
                          :else (throw (Exception. (str "Unrecognized meta category: " cat)))))]
    (vec (flatten (mapv meta-error-fn meta-error-categories)))))

