 %s
 Detected %s %s\n"
              (string/join "\n\n" (for [[[in type] problems] problems]
-                                   (problem-group-str type (spec-name explain-data) form in problems opts')))
+                                   (problem-group-str1 type (spec-name explain-data) form in problems opts')))
              (section-label)
              (count problems)
              (if (= 1 (count problems)) "error" "errors")))))))))


should satisfy

%s

%s"
     (header-label "Function spec failed")
     (printer/indent (*value-str-fn* spec-name val path (problems/value-in val path)))
     (printer/indent (pr-str (:val problem)))
     (printer/indent (pr-pred (:pred problem) (:spec problem)))
     (if (:print-specs? opts) (relevant-specs problems) ""))))

(defmethod problem-group-str :problem/fspec-fn-failure [_type spec-name val path problems opts]
  (s/assert ::singleton problems)


should satisfy

%s"
   (header-label "Spec failed")
   (show-spec-name spec-name (printer/indent (*value-str-fn* spec-name val path (problems/value-in val path))))
   (preds problems)))

(defn problem-group-str1 [type spec-name val path problems opts]
  (str
   (problem-group-str type spec-name val path problems opts)
   "\n\n"
   (if (:print-specs? opts) (relevant-specs problems) "")))

(defn problem-type [failure problem]
