docs: def get_bool(self, key, default=None):
          """
          Same as :meth:`dict.get`, but the value is converted to a bool.
  
          The boolean value is considered, respectively, :obj:`True` or
          :obj:`False` if the string is equal, ignoring case, to
          ``'true'`` or ``'false'``.
          """
          v = self.get(key, default)
          if v != default:
              v = v.strip().lower()
              if v == 'true':
                  v = True
              elif v == 'false':
                  v = False
              elif default is None:
                  raise RuntimeError("invalid bool string: %s" % v)
              else:
                  v = default
          return v