Use `fn?` to check whether a value is a Clojure function. It returns `true` for a function and `false` for a non-function value. Functions created with `fn` are first-class values: they can be bound locally or passed as arguments. section 2.1.2
Checking function values
```clojure (fn? (fn [x] x)) ; true (fn? (partial + 1)) ; true (fn? 42) ; false ``` `partial` generates a new function, so its result can be checked just like a function written with `fn`. section 2.1.2 section 2.2.8
