title: Why does GHC only warn on partial implemented classes, and not error?
body: <p>I think the title is already self explanatory, but here's an example anyway to show my point:</p>
  
  <pre><code>class Foo a where
      someFunction :: a -&gt; a -&gt; Bool
  
  instance Foo Bool
  </code></pre>
  
  <p>When I compile this the compiler gives a warning:</p>
  
  <pre><code>Warning:
      No explicit method or default declaration for `someFunction'
      in the instance declaration for `Foo Bool'
  </code></pre>
  
  <p>Calling the function will now result in a runtime error. Why is this a warning, and not a compile-time error? And is there any way to make this a compile-time error instead?</p>