      "\n\nor\n\n"
      (map #(expected-str* spec-name % opts) grouped-subproblems))))
 
-(defmethod value-str :expound.problem/value-group [type spec-name val path problems opts]
+(defmethod value-str :expound.problem-group/one-value [type spec-name val path problems opts]
   (s/assert ::singleton problems)
   (let [problem (first problems)
         subproblems (:problems problem)]

   (value-str type spec-name form in problems opts)
   expected))

(defmethod expected-str :expound.problem/value-group [_type spec-name val path problems opts]
  (let [problem (first problems)
        subproblems (:problems problem)
        grouped-subproblems (vals (group-by :expound.spec.problem/type subproblems))]

        (value-str* spec-name [problem] opts)
        (expected-str* spec-name [problem] opts))))))

(defmethod problem-group-str :expound.problem-group/many-values [_type spec-name val path problems opts]
  (s/assert ::singleton problems)
  (printer/format
   "%s\n\n%s"
