<code>'a</code> and a function of type <code>'a -&gt; 'b' get a value of type</code>b`. The function works also in Clojure of course:</p>
<pre><code class="language-clojure">(((fn [v] (fn [f] (f v))) 42) even?)
;=&gt; true
</code></pre>
<p>The function <code>even?</code> is (at least philosophically) of type <code>(==&gt; int boolean)</code>, and <code>42</code> is of type <code>int</code> hence we obtain a <code>boolean</code>.</p>
<p>In LaTTe, we can make all this quite explicit:</p>
<pre><code class="lan