google/quiver-dart — pull request #39 by jmesserly (2013-10-08 02:13:16+00:00)
Title: fix enumerate to correctly iterate more than once

The Iterable was closing over the index incorrectly.

Fun fact, if we had generators in Dart, we could do it like:

```dart
Iterable enumerate(Iterable iterable) {
int i = 0;
for (var value in iterable) {
yield new IndexedValue(i++, e));
}
}
```