import six


def is_collection(s):
	""" Returns True only if S is a true iterable (not string). """
	if isinstance(s, six.string_types):
		return False
	if s is None:
		return False
	try:
		iter(s)
		return True
	except TypeError:
		return False