Я пытаюсь разрешить предупреждение отражения в Clojure, что, по-видимому, является результатом отсутствия вывода типа для возвращаемых значений функции, которые являются нормальными объектами Java.
Тривиальный пример кода, демонстрирующий проблему:
(set! *warn-on-reflection* true)
(defn foo [#^Integer x] (+ 3 x))
(.equals (foo 2) (foo 2))
=> Reflection warning, NO_SOURCE_PATH:10 - call to equals can't be resolved.
true
Каков наилучший способ решить эту проблему? Можно ли это сделать с помощью подсказок типа?