Partitions the input iterable into lists of the specified size.
Iterable<List<T>> partition<T>(Iterable<T> iterable, int size) { return iterable.isEmpty ? [] : _Partition<T>(iterable, size); }