title: Composition of compositions in Haskell
body: <p>I am learning Haskell recently, and I was reading Functors in Learn You a Haskell from which I came to know</p>
  
  <ol>
  <li>Functions <code>((-&gt;)r)</code> which take one parameter, are also in a way Functors.</li>
  <li>Composition <code>(.)</code> is equivalent to <code>fmap</code></li>
  </ol>
  
  <p>So with what I have understood, fmap takes two parameters. First is the function to be applied, and the second one is the functor.</p>
  
  <p>However, I am confused with this expression <code>(.) (.) (.)</code>. This is a composition of two composition, with the type <code>(b -&gt; c) -&gt; (a1 -&gt; a2 -&gt; b) -&gt; (a1 -&gt; a2 -&gt; c)</code></p>
  
  <p>So here is my doubt arising. The first <code>(.)</code> has two parameters, first one being composition function itself. The second parameter also being the composition function. And composition function as such is not a functor. So how is this a valid expression?</p>
  
  <p>I am sure that I am missing something here. Could someone fill in the gaps and help me get how the expression is correct?</p>