Accept any iterable