title: Haskell: Data type containing other Data Types
body: <p>if I have two data structures </p>
  
  <pre><code>data Tri = Tri {a :: Int, b :: Int , c :: Int} deriving Show
  data Quad = Quad {w :: Int, x :: Int, y :: Int, z :: Int} deriving Show
  </code></pre>
  
  <p>how do I create another data structure made up of those two? ie something alon the lines of: </p>
  
  <pre><code>data Shape = Tri | Quad derivng Show
  </code></pre>