docs: def to_bool(s, fallback=None):
      """
      :param str s: str to be converted to bool, e.g. "1", "0", "true", "false"
      :param T fallback: if s is not recognized as a bool
      :return: boolean value, or fallback
      :rtype: bool|T
      """
      if not s:
          return fallback
      s = s.lower()
      if s in ["1", "true", "yes", "y"]:
          return True
      if s in ["0", "false", "no", "n"]:
          return False
      return fallback