called <em>implicit typing</em>.</p>
<p>In the Church school, on the contrary, types must be explicit. Because it uses a very expressive lambda-calculus for which type reconstruction is not decidable,  LaTTe implements an explicitely typed lambda-calculus.</p>
<p>Suppose we have a type <code>A</code>, then the identity function for type <code>A</code> can be written in LaTTe as follows:</p>
<pre><code class="language-clojure">(lambda [x A] x)
</code></pre>
<p>The <code>lambda</code> keyword is of course the