title: Syntax for list construction / concatenation
body: <p>I've only been at Haskell for two days now, and was wondering what the difference between the two function definitions below are: </p>
  
  <pre><code>Prelude&gt; let swap (x1:x2:xs) = x2:x1:xs
  Prelude&gt; swap [1..5]
  [2,1,3,4,5]
  Prelude&gt; let swap' (x1:x2:xs) = [x2] ++ [x1] ++ xs
  Prelude&gt; swap' [1..5]
  [2,1,3,4,5]
  </code></pre>
  
  <p>That is, what makes x2:x1:xs different from [x2] ++ [x1] ++ xs ?
  Please and thanks.</p>