So Map is Iterable, but Sequence is not?
Correct. List, Map, and Set are iterable, but Sequence, Dictionary, and Group are not (for the reason Todd mentioned earlier). The latter interfaces are also "lighter weight", allowing us to use them in a number of circumstances where List, Map, or Set would be too heavy.
I can understand calling values() or keys() to retrieve something Iterable on a Map, because iterating over a Map is a little confusing - what am I iterating over - keys? values? key/value entries?
Map's iterator is defined to iterate over the key collection. It is similar to iterating over the properties of an object in JavaScript. I think this is cleaner than providing a "key set" property, and also works well since you can go from key to value, but you can't go the other way around.
If Sequence is not going to be Iterable, perhaps we need another type in the heirarchy that is Iterable, so that those places in pivot.wtk which use Sequence in the API are easier to work with.
Most (if not all) classes that implement Sequence also implement Iterable, so, in practice, this isn't a big deal.
