def try_parse_num_and_booleans(num_str):
if isinstance(num_str, str):<EOL><INDENT>if num_str.lower() == '<STR_LIT:true>':<EOL><INDENT>return True<EOL><DEDENT>elif num_str.lower() == '<STR_LIT:false>':<EOL><INDENT>return False<EOL><DEDENT>if num_str.isdigit():<EOL><INDENT>return int(num_str)<EOL><DEDENT>try:<EOL><INDENT>return float(num_str)<EOL><DEDENT>except ValueError:<EOL><INDENT>return num_str<EOL><DEDENT><DEDENT>else:<EOL><INDENT>return num_str<EOL><DEDENT>
Tries to parse the provided string as a number or boolean
:param num_str:
:return: