docs: def pclass(self, bases):
          """
          Create a ``pyrsistent.PClass`` subclass representing this class.
  
          :param tuple bases: Additional base classes to give the resulting
              class.  These will appear to the left of ``PClass``.
          """
          def discard_constant_fields(cls, **kwargs):
              def ctor():
                  return super(huh, cls).__new__(cls, **kwargs)
              try:
                  return ctor()
              except AttributeError:
                  if u"kind" in kwargs or u"apiVersion" in kwargs:
                      kwargs.pop("kind", None)
                      kwargs.pop("apiVersion", None)
                      return ctor()
                  raise
  
  
          def lt_pclass(self, other):
              if isinstance(other, self.__class__):
                  return sorted(self.serialize().items()) < sorted(other.serialize().items())
              return NotImplemented
  
  
          def eq_pclass(self, other):
              if isinstance(other, self.__class__):
                  return sorted(self.serialize().items()) == sorted(other.serialize().items())
              return NotImplemented
  
  
          content = {
              attr.name: attr.pclass_field_for_attribute()
              for attr
              in self.attributes
          }
          content["__doc__"] = nativeString(self.doc)
          content["serialize"] = _serialize_with_omit
          content["__new__"] = discard_constant_fields
          content["__lt__"] = lt_pclass
          content["__eq__"] = eq_pclass
          content["__hash__"] = PClass.__hash__
          content = total_ordering(content)
          huh = type(nativeString(self.name), bases + (PClass,), content)
          return huh