Encapsulates an argument in a list, if it's not already iterable.

def _AsList(arg):
    """Encapsulates an argument in a list, if it's not already iterable."""
    if (isinstance(arg, string_types) or
        not isinstance(arg, collections.Iterable)):
      return [arg]
    else:
      return list(arg)