docs: def parse_solver_setting(s):
      """Parse a string containing a solver setting"""
  
      try:
          key, value = s.split('=', 1)
      except ValueError:
          key, value = s, 'yes'
  
      if key in ('rational', 'integer', 'quadratic'):
          value = value.lower() in ('1', 'yes', 'true', 'on')
      elif key in ('threads',):
          value = int(value)
      elif key in ('feasibility_tolerance', 'optimality_tolerance',
                   'integrality_tolerance'):
          value = float(value)
  
      return key, value