42)
--&gt; ((lambda [x int] x) 42)
--&gt; 42
</code></pre>
<p>This is clearly a little bit more verbose, so we need a more serious argument in favor of typing. For we should answer the question:</p>
<blockquote>
<p>What is the type of <code>(lambda [A :type] (lambda [x A] x))</code>?</p>
</blockquote>
<p>An adequate answer is obtained thanks to a lambda-calculus named <em>system F</em> (or <em>λ2</em>, or the polymorphic lambda-calculus), and in LaTTe it is as follows:</p>
<pre><code>(forall [A :type]
  (=