Indexed Map
Iterable<T> hcIndexedMap<T>(T Function(E element, int index) f) { var index = 0; return map((e) => f(e, index++)); }