   (let [transit-exemplars (exemplar-transit encoding)]
     (filter #((:pred %) proc encoding opts)
             [{:pred (constantly true)
+              :desc "exemplar file"
               :path [:tests :exemplar-file]
               :test #(test-transit transit-exemplars proc encoding)}
              {:pred (constantly true)
+              :desc "EDN corner case"
               :path [:tests :corner-case-edn]
               :test #(test-edn cc/forms proc encoding)}
              {:pred (fn [_ e _] (= e :json))
+              :desc "JSON transit corner case"
               :path [:tests :corner-case-transit-json]
               :test #(test-transit (map (fn [s] (.getBytes s)) cc/transit-json) proc encoding)}
              {:pred (fn [_ _ o] (:gen o))
+              :desc "generated EDN"
               :path [:tests :generated-edn]
               :test #(test-edn (:generated-forms opts) proc encoding)}
              {:pred (fn [_ _ o] (:time o))
+              :desc "timing"
               :path [:time]
               :test #(let [ms (test-timing transit-exemplars proc encoding)]
                        {:ms ms

  transit enconding, record the time in milliseconds that it takes
  to roundtrip all of the transit messages."
  [transits proc encoding]
  (println "collecting timing information...")
  (dotimes [x 200]
    (mapv #(roundtrip-transit proc % encoding) transits))
  (let [start (System/nanoTime)]

  "Given a project name, an encoding and user provided options, run
  tests against this project."
  [project encoding opts]
  (println (format "testing %s's %s encoding"
                   project
                   (name encoding)))
  (let [command (str "../" project "/bin/roundtrip")]
    (report (-> (verify-impl-encoding command encoding opts)
                (assoc :project project))
            opts)))

(defn verify-impl
  "Given a project name like 'transit-java', 'transit-clj' or
