A Split used to split this iterable's elements.
[1, 2, 3, 4].split.by(size: 2); // [ [1, 2], [3, 4], [5] ]
@lazy @useResult Split<E> get split => Split._(this);