   (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

                    :clojure.spec.test.check/ret])
   data))

;; TODO - rename explain-data
(defn printer-str [opts explain-data]
  (let [opts' (merge {:show-valid-values? false
                      :print-specs? true}
                     opts)]

                                     (minimal-fspec (s/form spec)))) :bad-value)
        "\n\nshould contain an :args spec\n")

       (= :no-fn failure-reason)
       (if (some? sym)
         (str
