Я пытаюсь определить мультиметод и его реализацию в отдельном файле. Это идет что-то вроде этого: В файле 1Реализация мультиметода в отдельных файлах в разных пространствах имен
(ns thing.a.b)
(defn dispatch-fn [x] x)
(defmulti foo dispatch-fn)
В файле 2
(ns thing.a.b.c
(:require [thing.a.b :refer [foo]])
(defmethod foo "hello" [s] s)
(defmethod foo "goodbye" [s] "TATA")
И в главном файле, когда я звоню метод я определяю что-то вроде этого:
(ns thing.a.e
(:require thing.a.b :as test))
.
.
.
(test/foo "hello")
Когда я это делаю, я получаю исключение: "No method in multimethod 'foo'for dispatch value: hello
Что такое Я делаю неправильно? Или невозможно определить реализации мультиметодов в отдельных файлах?