(defmulti foo identity) (defmethod foo 1 [n] (recur (dec n))) (defmethod foo 0 [n] :ok) (foo 1) ;; runs forever