The norm was a collection interface. If the method existed solely to enable for-each loops or the returned sequence couldn’t be made to implement some Collection method (typically, contains(Object)), the Iterable interface was used.
Or a collection that can handle a large (or infinite) number of values and not report the max size as being INT.MAX_VALUE