extension ListExtension on List { Iterable mapIndexed(R Function(int index, T element) convert) sync* { for (var index = 0; index < length; index++) { yield convert(index, this[index]); } } }