title: Haskell Forall error illegal symbol
body: <p>I have been getting this error in my program:</p>
  
  <pre><code>Illegal symbol '.' in type
      Perhaps you intended to use RankNTypes or a similar language
      extension to enable explicit-forall syntax: forall &lt;tvs&gt;. &lt;type&gt;
  </code></pre>
  
  <p>My program is:</p>
  
  <pre><code>ex31 :: Eq a =&gt; [a] -&gt; [a]
  ex31 [] = []
  ex31 (h:t) = complementar 0 (h:t)
  
  complementar :: forall a. Eq a =&gt; Int -&gt; [a] -&gt; [a]
  complementar _ [] = []
  complementar x (h:t) = if (x / 2) == div x 2
                         then complementar (x+1) t
                         else h : complementar (x+1) t
  </code></pre>