Any reason this isn't just an Iterable? Ditto on the other methods that take a Collection