def METHOD_NAME(self, key, type_=None):
    """Get the value of a setting.
    If `type` is not provided, the key must be for a known setting,
    present in `self.default_settings`. Conversely if `type` IS provided,
    the key must be for an unknown setting.
    """
    if type_ is None:
        default = self._default_value(key)
        val = self._value(key, default)
        if type(val) == type(default):
            return val
        else:
            return self._convert_value(val, type(default))
    else:
        val = self._value(key, None)
        if val is None:
            return None
        return self._convert_value(val, type_)