Hi Sean,
unfortunately the problem is more complex. The "default" predicate i am
using is a second case which sometimes overlaps with the first pred.
For Example:
(spec/alt :strings (spec/* string?)
:length (spec/* #(< 1 (count (str %
on input ["string" 1 ] matches only "st
I would assume it’s a “maximal munch” strategy at play here: (spec/* string?)
will only match one string in your input but (spec/* identity) will match all
three elements so it “wins” as the best match.
Perhaps :default (spec/* (complement string?)) will do what you need?
(depending on exactly