Eg:
(defmulti add [:number [:string :number]] ...)
Would match if the second value was a string or a number.
Straightforward to implement matching against a list of values. But how is sorting affected?