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