FutureOr<void> each(FutureOr<void> Function(T item, int idx) func) async { int idx = 0; for (T item in this) { await func(item, idx); idx++; } }