docs: def _temp_bool_prop(propname, doc="", default=False):
      """Creates a property that uses the :class:`_TempBool` class
  
      Parameters
      ----------
      propname: str
          The attribute name to use. The _TempBool instance will be stored in the
          ``'_' + propname`` attribute of the corresponding instance
      doc: str
          The documentation of the property
      default: bool
          The default value of the _TempBool class"""
      def getx(self):
          if getattr(self, '_' + propname, None) is not None:
              return getattr(self, '_' + propname)
          else:
              setattr(self, '_' + propname, _TempBool(default))
          return getattr(self, '_' + propname)
  
      def setx(self, value):
          getattr(self, propname).value = bool(value)
  
      def delx(self):
          getattr(self, propname).value = default
  
      return property(getx, setx, delx, doc)