Or, that the way classes are implemented in Python and the way classes and instances behave at runtime isn't always appropriate for reproducing the Real-World's behavior in a way that satisfies them. A meta-class is meant to define the common properties of a set of classes. The meta-class M is of type . The metaclass-instances, A and B, are of type and they both have the same properties. Note, that A and B are different objects.
Class objects have one more special property, indicating the meta-class they are an instance of.
Thus, we can compose property packages and create new ones. It has a supermetaclass.