title: need for concatMap in nested Haskell maps
body: <p>I don't understand why concatMap, rather than simply map, is needed in this:</p>
  
  <pre><code>expand :: [[Int]] -&gt; [[Int]]
  
  expand xs = concatMap (\a -&gt; (map (\b -&gt; a++b) [[1],[2],[3]])) xs
  </code></pre>
  
  <p>don't a and b each pick up just a simple list in their respective assignments, so that a++b as the concatenation of these lists should be just another list?</p>
  
  <p>Would appreciate some insight ...</p>