Returns a new list containing elements from this list up to, but not including, end.
end
List<E> takeUpTo(int end) => take(end).toList();