title: Usage of weird symbol in haskell code
body: <p>I came across on following code:</p>
  
  <pre><code>data Nested a = a :&lt;: (Nested [a]) | Epsilon
  
  mylength Epsilon    = 0
  mylength (_ :&lt;: xs) = 1 + mylength xs
  </code></pre>
  
  <p>What does <code>a :&lt;: (Nested [a])</code> mean? I don't understand such code (especially <code>:&lt;:</code>)</p>