;; Teted in ClojureScript only ;; This works {:bye ...} is the first thing inside match's match list: (go (println (match {:bye ["cruel" "world"]} {:bye [a b]} (str "Goodbye " a " " b) {:hello [a b]} (str "How are you doing " n "?")))) ;; This works (no go block, {:bye ..} is second: (println (match {:bye ["cruel" "world"]} {:hello [a b]} (str "How are you doing " n "?") {:bye [a b]} (str "Goodbye " a " " b))) ;; This doesn't: Uncaught Error: :clojure.core.match/not-found is not ISeqable ;; indicating that (match ...) is probably returning not-found. (go (println (match {:bye ["cruel" "world"]} {:hello [a b]} (str "How are you doing " n "?") {:bye [a b]} (str "Goodbye " a " " b))))