title: Strange compiler error in Elm
body: <p>Given the code such as (imports are stripped for brevity):</p>
  
  <pre><code>fn: List a -&gt; List a -&gt; Bool
  fn x y =
    x &lt; y
  
  main =
    text (toString(fn [1,1] [1,2]))
  </code></pre>
  
  <p>I got quite a strange error:</p>
  
  <pre><code>The type annotation for `fn` does not match its definition.
  
  15| fn: List a -&gt; List a -&gt; Bool
          ^^^^^^^^^^^^^^^^^^^^^^^^
  The type annotation is saying:
  
      List a -&gt; List a -&gt; Bool
  
  But I am inferring that the definition has this type:
  
      List a -&gt; List a -&gt; Bool
  </code></pre>
  
  <p>Without the type annotation or with type annotation but using <code>==</code> instead of <code>&lt;</code> everything works OK. Is this a bug in elm compiler or am I doing something wrong?</p>
  
  <p>I used online editor at <a href="http://elm-lang.org/try" rel="nofollow">http://elm-lang.org/try</a></p>