title: Haskell - Merge two lists of tuples by first component
body: <p>I have the following lists of tuples:</p>
  <p><strong>List 1:</strong></p>
  <pre><code>[(&quot;key-1&quot;, Type1, Type2, Type3), (&quot;key-2&quot;, Type1, Type2, Type3)]
  </code></pre>
  <p><strong>List 2:</strong></p>
  <pre><code>[(&quot;key-1&quot;, Type4), (&quot;key-2&quot;, Type4)]
  </code></pre>
  <p>and I want to merge these tuples by its first component so that the following result is produced:</p>
  <p><strong>Result List:</strong></p>
  <pre><code>[(&quot;key-1&quot;, Type1, Type2, Type3, Type4), (&quot;key-2&quot;, Type1, Type2, Type3, Type4)]
  </code></pre>
  <p>In what way can I create the result list?</p>