 
 (defn ultra-operate-on-programs
   [p1 p2 alternation-rate alignment-deviation mutation-rate
-   use-ultra-no-paren-mutation ultra-pads-with-empties atom-generators]
+   use-ultra-no-paren-mutation ultra-pads-with-empties atom-generators
+   max-points]
   (if (or (not (seq? p1))
           (not (seq? p2)))
     p1 ;; can't do if either program isn't a list

                                               ultra-mutation-rate
                                               use-ultra-no-paren-mutation
                                               ultra-pads-with-empties
                                               atom-generators)]
    (if (> (count-points new-program) max-points)
      parent1
      (make-individual :program new-program :history (:history parent1)

              (alternate (list-to-open-close-sequence p1)
                         (list-to-open-close-sequence p2)
                         alternation-rate
                         alignment-deviation
                         max-points)
              mutation-rate
              use-ultra-no-paren-mutation
              atom-generators)))))))
