The article says: "The typical usage of collections is a multi-valued argument for functions and procedures." True but other solutions exist and are quite useful in comparison to a spatial representation of a list of integers. If the list of integers is unique and has a common increment then a tally tvf means you don't have to pass the actual list around at all. At least not to the db engine. Otherwise, the new string_agg() function is quite handy with integers. If you consider other types besides integers then json is quite nice.
select cast((select string_agg(n, ',') from dbo.tally(10)) as varchar(max));
select cast((select char(64+n) char_n from dbo.tally(10) for json path, root('ascii_list')) as nvarchar(max));