def METHOD_NAME(self, new: Any) -> None:
    """Set the value of this option
    Raises a ``TypeError`` if this option is not :attr:`Option.mutable`.
    """
    old = self.current
    if new is old:
        return None
    if not self._mutable:
        msg = f"{self} cannot be modified after initial load"
        raise TypeError(msg)
    try:
        new = self._current = self._validator(new)
    except ValueError as error:
        raise ValueError(f"Invalid value for {self._name}: {new!r}") from error
    logger.debug(f"{self._name}={self._current}")
    if new != old:
        for sub_func in self._subscribers:
            sub_func(new)