(fn? f)
Returns true if f is a function, false otherwise.
f
Return true if f is a JavaScript function or satisfies the Fn protocol.
(defn fn? [f] (or (js-fn? f) (satisfies? Fn f)))