title: Python metaclass grammar
body: <p>What do you 'do' with a metaclass?</p>
  <p>What is the verb when you apply a metaclass</p>
  <pre><code>class Demo(metaclass=MetaclassRoot):
      &quot;&quot;&quot;Will fail because MetaclassRoot can only be applied to MetaclassBase&quot;&quot;&quot;
  </code></pre>
  <p>This 'raises' an exception.</p>
  <p>SEE there's a verb I have no problems with associated with the noun Exception.</p>
  <p>You raise and catch exceptions.
  You decorate with decorators.
  You iterate with iterators.
  You inherit (from) and instantiate classes.</p>
  <p>What do you do with a metaclass?</p>
  <p>I know this leads into another discussion: Are metaclasses searching for a problem? I actually have an opinion on that.</p>
  <p>But I'm serious. I need an official, or the obviously best verb for when you use a metaclass to create a new class with type() == metaclass</p>
  <p>I've got two exceptions (actually 8)</p>
  <pre><code>class MetaclassIsroot(MetaclassFault):
      format_cause = &quot;&lt;metaclass&gt; '{}': Only {} can apply 'MetaclassRoot'&quot;
  
  class BaseIsAbstract(MetaclassFault):
      format_cause = &quot;'MetaclassBase' is abstract and cannot be applied to '{}'&quot;
  </code></pre>
  <p>Is apply the best verb for metaclass?</p>