str.join takes an arbitrary iterable