title: Can I export constructors along with a type alias?
body: <p>I have a data type <code>data Foo a b = Bar a b</code> that I use internally in a library.</p>
  
  <p>I also have an alias for one of its more common concrete forms: <code>type Bar = Foo Int Int</code>.</p>
  
  <p>Is there a way to export the <code>Bar</code> type, but not the <code>Foo</code> type from my library?</p>
  
  <p>I'd like to do:</p>
  
  <pre><code>module Quux (
      Bar(Bar)
    ) where
  </code></pre>
  
  <p>But when I attempt this I get the error:</p>
  
  <pre><code>The export item ‘Bar(Bar)’
  attempts to export constructors or class methods that are not visible here
  </code></pre>
  
  <p>The below would work, except I'd rather not export the <code>Foo</code> type at all:</p>
  
  <pre><code>module Quux (
      Bar
    , Foo(..)
    ) where
  </code></pre>