schema

2020-01-17T18:55:12.000900Z

(def IntOrStr (s/conditional str? s/Str :else s/Int))

2020-01-17T18:56:28.002Z

There are a few examples of conditional https://github.com/plumatic/schema. There are some things like both and either that are deprecated in favor of conditional.