                                     {})]
 
       (cond
-        (or (explain-data? explain-data)
-            (nil? explain-data))
-        (print-explain-data opts' explain-data)
-
-        (check-result? explain-data)
-        (print-check-result explain-data)
+        (or (explain-data? data)
+            (nil? data))
+        (print-explain-data opts' data)
+
+        (check-result? data)
+        (print-check-result data)
 
         :else
-        (str "Unknown data:\n\n" explain-data)))))
+        (str "Unknown data:\n\n" data)))))
 
 ;;(s/def ::foo string?)
 

  (let [{:keys [sym spec failure]} check-result
        ret #?(:clj (:clojure.spec.test.check/ret check-result)
               :cljs (:clojure.test.check/ret check-result))
        ;; TODO - should this be :clojure.spec.test.alpha/args (0 0) in explain-data
        bad-args (first (:fail ret))
        explain-data (ex-data failure)
        failure-reason (::s/failure explain-data)]
    ;; TODO - remove this
    (s/assert (s/nilable #{:check-failed :no-gen :no-fn :no-args-spec}) (-> explain-data ::s/failure))
    (str
     ;; CLJS does not contain symbol if function is undefined
     (if sym

         (ansi/color (count problems) :footer)
         (ansi/color (if (= 1 (count problems)) "error" "errors") :footer)))))))

(defn minimal-fspec [form]
  (let [fspec-sp (s/cat
                  :sym qualified-symbol?
