There are multiple ways to construct a java.util.EnumSet with different complexity (it has a factory that can deal with a [Java] Iterable directly). That's why there are both Iterable and TraversableOnce methods.