title: Is it possible to refer to a specific instance function in Haskell?
body: <p>Given the following type class, I would like for some instance <code>Foo X</code>, to be able to refer to <code>baz</code> directly. Since <code>baz</code> doesn't (directly) take an argument of type <code>a</code>, I don't know how to do this. </p>
  
  <pre><code>class Foo a where
    bar :: a -&gt; Int
    baz :: (a -&gt; Int, a -&gt; Int)
    baz =  ((\x -&gt; 1), (\x -&gt; 2))
  </code></pre>
  
  <p>I can easily do <code>bar x</code> if <code>x :: X</code>. But if I try to do a qualified import of the module that <code>Foo X</code> is in, call it <code>FooX</code>, and do <code>FooX.baz</code> I'll get a <code>Not in scope: FooX.baz</code> message.</p>