<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def auto_convert_cell(flagable, cell, position, worksheet, flags, units, parens_as_neg=True):
    '''
    Performs a first step conversion of the cell to check
    it's type or try to convert if a valid conversion exists.

    Args:
        parens_as_neg: Converts numerics surrounded by parens to negative values
    '''
    conversion = cell

    # Is an numeric?
    if isinstance(cell, (int, float)):
        pass
    # Is a string?
    elif isinstance(cell, basestring):
        # Blank cell?
        if not cell:
            conversion = None
        else:
            conversion = auto_convert_string_cell(flagable, cell, position, worksheet,
                                                  flags, units, parens_as_neg=parens_as_neg)
    # Is something else?? Convert to string
    elif cell != None:
        # Since we shouldn't get this event from most file types,
        # make this a warning level conversion flag
        flagable.flag_change(flags, 'warning', position, worksheet,
                             flagable.FLAGS['unknown-to-string'])
        conversion = str(cell)
        # Empty cell?
        if not conversion:
            conversion = None
    else:
        # Otherwise we have an empty cell
        pass

    return conversion