map over case in preference to case* to avoid calling clojure.core/str
free. possibly wrong decision.