List<List<T>> chunked(int size) { final result = <List<T>>[]; for (var i = 0; i < length; i += size) { result.add( sublist(i, min(i + size, length)), ); } return result; }