Set an option value.

        Args:
            name (str): The name of the option.
            value: The value to set the option to.

        Raises:
            AttributeError: If the name is not registered.
            TypeError: If the value is not a string or appropriate native type.
            ValueError: If the value is a string but cannot be coerced.

def set(self, name, value):
        """Set an option value.

        Args:
            name (str): The name of the option.
            value: The value to set the option to.

        Raises:
            AttributeError: If the name is not registered.
            TypeError: If the value is not a string or appropriate native type.
            ValueError: If the value is a string but cannot be coerced.
        """
        if name not in self._options:

            raise AttributeError("Option {0} does not exist.".format(name))

        return self._options[name].__set__(self, value)