             failures (->> checkpoints
                           (filter #(-> % :success :value false?)))
             num-failures (count failures)]
+
+        (log :info "Creating target/logs/checkpoints.json")
+        (spit "target/logs/checkpoints.json" (json/generate-string checkpoints))
         (log :info "Creating target/logs/failures.json")
         (spit "target/logs/failures.json" (json/generate-string failures))
         (log :info (str "Failures: " num-failures))

        (condp = fun
          ;; Special forms
          'if
          (eval (conj (evaluate (-> fun-entry val) config) fun))

          'fn
          (fn [& argv]

          ;; Functions
          (let [yield (apply (resolve fun) (evaluate (-> m first val) config))]
            (if (coll? yield)
              ;; Laziness disabled.
              (doall yield)
              yield))))

