Let's say I have something like
(s/def :thespec (s/or :foo ::foo :bar ::bar))
(match [(s/conform :thespec val)] [:foo x] (do-something-with x) [:bar y] (do-something-else-with y))