title: Unexpected result for (unwords . words)
body: <p>Can anyone explain the behavior of <code>unwords . words</code> in the example below. I would expect it to remove all the double spaces in the string <code>s</code>, however apparently it doesn't. On the other hand the behavior of <code>unwords (words s)</code> is as expected.  </p>
  
  <pre><code>Prelude&gt; s
  "this     is   a  test    "
  Prelude&gt; unwords (words s) 
  "this is a test"
  Prelude&gt; (unwords . words) s 
  "this     is   a  test    "
  Prelude&gt; (unwords . words) s == unwords (words s)
  False
  Prelude&gt; (unwords . words) s == s 
  True
  </code></pre>
  
  <p>I use GHCi 8.2.2 on OS X 10.11.6.</p>