spec/alt

alt distinguishes “alternatives”

(s/conform (s/alt :num number?, :key keyword?) [5])
;;=> [:num 5]

(s/conform (s/alt :num number?, :key keyword?) [:b])
;;=> [:key :b]

Docs