Thanks for your reply!
I tried to come up with a minimal reproducing example. My original function looked like this, bit-xor-ing all characters in a string:
(defn- simple-checksum [s]
(reduce #(bit-xor %1(long (Character/toLowerCase (char %2)))) 0 s))
I can of course replace `long` with `int` here, or make the char using `(int)` because `toLowerCase` exists as `int -> int` as well.
However, it looked wrong to me to cast to `int` and then implicitly to `long` (`Numbers.xor()`). Of course this is a micro-optimisation and can maybe elided by the compiler completely.
Still, I was surprised to see the reflection warning because you can implicitly convert a `char` to a `long` in Java --- is Clojure stricter than its host here?