I'm wondering if it's just a cardinal/ordinal thing, and we can just translate $7 to $<7th>. Then we don't have to guess where to insert a .flat or :flat.
That's a very interesting generalization. There are plenty of *other* cases where one wants an ordinal, or some other kind of $n-1 value. If C<th> (and C<st>, C<nd>, C<rd>) was a "subtract one" operator, you could write:
my $n = prompt "How many elems? ";
instead of the out-by-one-prone: