Iterable<E> subListEnd(int start, [int? end]) { return this.skip(start).take(min(end ?? this.length, this.length)); }