title: How does Haskell handle overloading polymorphism?
body: <p>I have a question about Haskell polymorphism.</p>
  <p>As I've learned, there are two types of polymorphism:</p>
  <ol>
  <li><p><strong>Parametric</strong>: where you do not specify the input type.</p>
  <p>Example:</p>
  <pre><code> functionName :: [a] -&gt; a
  </code></pre>
  </li>
  <li><p><strong>Overloading</strong>: as imperative programming, i.e. passing different arguments to the same function.</p>
  </li>
  </ol>
  <p>My problem is: how does Haskell handle <em>overloading</em>?</p>