          (printer/format
           "%s\n\n%s"
           (value-str type spec-name form in [problem] opts)
-          (expected-str2 [problem] opts)))))))
+          (expected-str2 spec-name [problem] opts)))))))
 
 (defmethod problem-group-str :expound.problem/alt-group [_type spec-name val path problems opts]
   (s/assert ::singleton problems)

;; TODO - move to new namespace
(defn ^:private problem-parts [problem opts]
  (let [type (:expound.spec.problem/type problem)
        spec-name nil ;; TODO - fix
        val (:val problem)
        in (:expound/in problem)
        path (:expound/path problem)
        problems [problem]
        form (:expound/form problem)]
    {:type type
     :spec-name spec-name
     :val val
     :path path
     :in in
     :problems problems
     :form form}))

(defn ^:private expected-str2 [problems opts]
  (let [problem (first problems)
        {:keys [type spec-name form in]} (problem-parts problem opts)]
    (expected-str type spec-name form in problems opts)))

(def ^:private format-str "%s\n\n%s\n\n%s")

                         group)))
              (conj grps group)))
          [])
         lift-singleton-groups)))

(declare annotate-1*) ;; TODO - remove
