List<T> map<T>(T Function(int index) f) { final List<T> values = []; for (var i = 0; i < this; i++) { values.add(f(i)); } return values; }