Iterable<List<T>> get lag sync* { final i = iterator; i.moveNext(); T temp = i.current; while (i.moveNext()) { yield [temp, i.current]; temp = i.current; } }