Iterable<E> mapWithIndex<E>(E Function(int index, T value) f) => Iterable.generate(length).map((index) => f(index, elementAt(index)));