def is_sequence(arg):
    """ simple check if arg is iterable, but not a string,
    more performant than using duck typing and exception handling
    """
    return not hasattr(arg, 'strip') and (hasattr(arg, '__getitem__') or
        hasattr(arg, '__iter__'))
