title: TypeError: Error when calling the metaclass bases a new-style class can't have only classic bases
body: <p>A collection of classes defined as:</p>
  
  <pre class="lang-python prettyprint-override"><code>class A():
      @staticmethod
      def call():
          print('a')
  
  class C(type):
      def __repr__(self):
          return 'somename'
  
  class B(A):
      __metaclass__ = C
  
      @staticmethod
      def call():
          print('b')
  
      def boundcall(self):
          print('bound')
  </code></pre>
  
  <p>When run, gives this error:</p>
  
  <pre class="lang-none prettyprint-override"><code>TypeError: Error when calling the metaclass bases
      a new-style class can't have only classic bases
  </code></pre>
  
  <p>I need the metaclass (I think) to have a known string representation of B in my code. Reason for having that is beside the point but it'll greatly help with future updates. </p>
  
  <p>So assuming I need C to be the metaclass of B and B will be a subclass of A can someone tell me what is going wrong here and how I might change what I'm doing to remove the error?</p>