prefer empty iterable