title: TemplateHaskell class name with conflict newName
body: <p>I have a TemplateHaskell function creating a class name:</p>
  
  <pre><code>test :: Q [Dec]
  test = do
    clsname &lt;- newName "A"
    a &lt;- newName "a"
    return [
      ClassD [] clsname [PlainTV a] [][]
      ]
  </code></pre>
  
  <p>The classname is generated with <code>newName</code>, so should be conflict free (the reason is I create the instances directly in TH and don't need it to be visible).</p>
  
  <pre><code>test
  test
  
  Schema.hs:27:1: error:
      Multiple declarations of ‘A’
      Declared at: Schema.hs:26:1
                   Schema.hs:27:1
  </code></pre>
  
  <p>However testing it with Debug.Trace, the name of <code>A</code> is indeed something like <code>A_1627476119</code>. This is the same in both GHC 7.10.3 and GHC8. Is this a bug or do I understand it wrong?</p>