Returns an iterator of all potential tails of this collection, starting with the entire collection and ending with an empty one.
RIterator<RIterable<A>> tails() => _iterateUntilEmpty((a) => a.tail());