title: List syntax with custom list type
body: <p>Given a custom type of lists such as</p>
  
  <pre><code>data List' a = EmptyList | NonEmptyList a (List' a)
             deriving Show
  </code></pre>
  
  <p>and a function to tell if such a list is non-empty</p>
  
  <pre><code>null' xs = case xs of
    EmptyList -&gt; True
    _ -&gt; False
  </code></pre>
  
  <p>why doesn't calling it in GHCi with list arguments like</p>
  
  <pre><code>null' NonEmptyList [1,2,3] 
  </code></pre>
  
  <p>or</p>
  
  <pre><code>null' EmptyList []
  </code></pre>
  
  <p>work?  Calling the function with the constructors defined does work.</p>
  
  <pre><code>null' Emptylist
  </code></pre>
  
  <p>Why is this?</p>