gt; A B)
              B))))
</code></pre>
<p>that can be further simplified (using a simple <em>n-ary</em> version of implication) as follows:</p>
<pre><code class="language-clojure">(forall [A :type]
  (forall [B :type]
    (==&gt; A
         (==&gt; A B)
         B)))
</code></pre>
<p>And the logical reading of this type is eloquent:</p>
<blockquote>
<ul>
<li>suppose <code>A</code> and <code>B</code> two arbitrary propositions</li>
<li>if we know that <code>A</code> is true</li>
<li>and moreover we know 