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

     :size (minimize size of program)
     :compressibility (minimize ammount a program compresses compared to itself)
     :total-error (minimize total error)
     :unsolved-cases (maximize number of cases with zero error)"
  [ind {:keys [meta-error-categories error-threshold] :as argmap}]
  (let [meta-error-fn (fn [cat]
                        (cond

;                          (= cat :compressibility) 555 ;;TMH fix later
                          (= cat :total-error) (:total-error ind)
                          (= cat :unsolved-cases) (count (filter #(> % error-threshold) (:errors ind)))
                          (= cat :random) (lrand)
                          :else (throw (Exception. (str "Unrecognized meta category: " cat)))))]
    (doall (map meta-error-fn meta-error-categories))))

