<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_single(str_):
 """ Very simple parser to parse expressions represent some single values. :param str_: a string to parse :return: Int | Bool | String '' 0 123 True 'a string' 'a string' 'a string' '0.1' 'a string contains extra whitespaces' """

    if str_ is None:
        return ''

    str_ = str_.strip()

    if not str_:
        return ''

    if BOOL_PATTERN.match(str_) is not None:
        return bool(str_)

    if INT_PATTERN.match(str_) is not None:
        return int(str_)

    if STR_PATTERN.match(str_) is not None:
        return str_[1:-1]

    return str_