In ClojureScript, you can annotate a function's parameters or return type using ^boolean. This post describes the what and why. First off, its worth saying that you normally don’t need to do any of this. But, if you are working with some performance-critical code, understanding what's going on may help. Let’s look at what gets generated for this form: (defn foo [x] (if x 1 2)) To easily see what i