hm, I'm having trouble using schemas on the LHS of a case I thought this would work
case
(case (:schema x) s/Num (:num-value x) s/String (:str-value x))