code: def try_parse_num_and_booleans(num_str):
      
      if isinstance(num_str, str):
          # bool
          if num_str.lower() == 'true':
              return True
          elif num_str.lower() == 'false':
              return False
          # int
          if num_str.isdigit():
              return int(num_str)
          # float
          try:
              return float(num_str)
          except ValueError:
              # give up
              return num_str
      else:
          # dont try
          return num_str
docs: Tries to parse the provided string as a number or boolean
      :param num_str:
      :return: