title: Standard definition of list
body: <p>I have a problem with definition of list. Normally is list defined as <code>data [a] = [] | a : [a]</code>
  but if I write something like this on my code concrete I will to define <code>data T a = N | a -&gt; (T a)</code> the interpreter give me an error:</p>
  
  <blockquote>
    <p>Malformed head of type or class declaration</p>
  </blockquote>
  
  <p>Do you know what's wrong?
  .</p>