                            {(keyword hkey) (harvest return config hkey [])})
                          (-> config :harvest)))))
 
+          (println "before collecting failures")
           ;; Write the failing returns to the logs directory and exit with
           ;; the count of the failures.
           (let [failures (->> (returns return)

        config (assoc config :env (evaluate (:env config) config))
        exit (when-let [main (:main program)]
               (doall (pmap #(evaluate % config) main)))]
    (doall
      (pmap
        (fn [[k n]]


          ;; Write the raw return value of the entire program to the
          ;; logs directory.
          (println "before raw.json")
          (spit "target/logs/raw.json" (json/generate-string return))

          (println "before env.json")
          (spit "target/logs/env.json" (json/generate-string (evaluate (:env config) config)))

          (println "before harvest.json")
          ;; Write any harvested values to the logs directory.
          (spit "target/logs/harvest.json"
                (json/generate-string
