converts a string into an argument to list_take

def fuzzy_subset(str_):
    """
    converts a string into an argument to list_take
    """
    if str_ is None:
        return str_
    if ':' in str_:
        return smart_cast(str_, slice)
    if str_.startswith('['):
        return smart_cast(str_[1:-1], list)
    else:
        return smart_cast(str_, list)