I did a bit more work with Clojure today. My imperative programming habits are still bleeding through. The exercise introduced cond as a sort of case statement for flow control. I wrote a simple cond statement but was getting a bizarre runtime error:

(defn my-fn
  [x]
  (cond
    (x < 0) "negative"
    (x = 0) "zero"
    (x > 0) "positive"
  )
)
user=> (my-fn 1)
Execution error (ClassCastException) at user/my-fn (REPL:4).
class java.lang.Long cannot be cast to class clojure.lang.IFn (java.lang.Long is in module java.base of loader 'bootstrap'; clojure.lang.IFn is in unnamed module of loader 'app')

It took me a frustratingly long time to realize I needed to use prefix notation for the conditions in the cond.

(defn my-fn
  [x]
  (cond
    (< x 0) "negative"
    (= x 0) "zero"
    (> x 0) "positive"
  )
)
user=> (my-fn 1)
"positive"