                           ;integer_swap
                           ;integer_yank
                           ;integer_yankdup
-                          ;return_boolean_pop
+                          return_boolean_pop
                           ;return_code_pop
                           return_exec_pop
                           return_float_pop
-                          ;return_fromboolean
+                          return_fromboolean
                           ;return_fromcode
                           return_fromexec
                           return_fromfloat

                                                 (run-push (second (closest-association the-tag push-state))
                                                           push-state))
                                               (rest buttons))))))]
    (vec (cons (* 0.0000001 (reduce + (map second err-modcount-pairs)))
               (map first err-modcount-pairs)))))

;; a little test -- wire each key to just push the right digit
;(calc-errors '(tag_exec_2000 0.0 tag_exec_1600 1.0 tag_exec_1700 2.0

   ;:tournament-size 1
   :population-size 1000
   :max-generations 10001
   :evalpush-limit 1000
   :tag-limit 10000
   :max-points 1000
   :max-points-in-initial-program 25
   ;:parent-reversion-probability 0.9
   :mutation-probability 0
   :crossover-probability 0
   :simplification-probability 0.1
   :reproduction-simplifications 10
   :ultra-probability 0.9
   :ultra-alternation-rate 0.01
   :ultra-alignment-deviation 10
   :ultra-mutation-rate 0.01
