span method
Split list based on predicate p. (takeWhile p, dropWhile p)
Implementation
Tuple2<Iterable<T>, Iterable<T>> span(Predicate<T> p) {
final i = indexWhere((e) => !p(e));
final idx = i < 0 ? length : i;
return Tuple2(getRange(0, idx), getRange(idx, length));
}