def add_option(self, name, type, default=None):
        # Name must be a string
        if not isinstance(name, basestring):
            raise ValueError("Name must be a string")

        if not inspect.isclass(type):
            raise ValueError("Type must be a class")

        # Ensure that the name is in UTF-8 encoding
        name = name.encode('utf-8')

        self.options[name] = (type, default)
True if this shape element has a ``<p:ph>`` descendant, indicating it
dataset/ETHPy150Open JohnMaguire/Cardinal/cardinal/config.py/ConfigSpec.add_option--crossover with--dataset/ETHPy150Open scanny/python-pptx/pptx/oxml/shapes/shared.py/BaseShapeElement.has_ph_elm