title: Universally quantified (or polymorphic) type class instances
body: <p>Is it possible to define a generic type class instance parameterized by a type <code>a</code> in Haskell?
  For example:</p>
  <pre><code>data Box a = Box a deriving Show
  
  class Boxable a where
    create :: a -&gt; Box a
  
  -- pseudo syntax here
  instance forall a . Boxable a where
    create = Box
  </code></pre>
  <p>If no, why not?</p>
  <p>I am aware of the fact that this example is rather simple and &quot;useless&quot;. I just want to know whether this is theoretically possible, not whether its practically relevant.</p>