title: The difference between (a -> Bool) and (a -> a -> Bool) in Haskell?
body: <p>I am currently learning Haskell and came across a type signature that confused me. </p>
  
  <p>I know that:</p>
  
  <pre><code>(a -&gt; Bool)
  </code></pre>
  
  <p>Is how a predicate is assigned in the type signature when using (Ord a) but I came across a type signature that is declared as:</p>
  
  <pre><code>(a -&gt; a -&gt; Bool)
  </code></pre>
  
  <p>Which according to what I found online is a type signature for inequalities but I am confused as to if they are for adding an inequality to a predicate, ie:</p>
  
  <pre><code>(&gt; p x == True)
  </code></pre>
  
  <p>Or if they are just to declare inequalities by themselves.</p>
  
  <p>Thanks.</p>