Ah yes, explain me more the concept I've been using for a dozen years, surely I don't understand it. And with mix of terminology from as far topics as set theory and functional programming, to lessen the confusion.
> What we have here is an array constructor, which takes one or more ranges as its arguments.
I would never have guessed the arguments thing.
> `x..<y` describes an open range (including x, excluding y).
I would never have guessed it's open range.
> you can also use positional arguments as in `{ ($0, $1) }` instead.
I would never have guessed, and I was writing in Perl with its magic variables for more than a half of my professional career and most of my studies.
And that's the whole point: the syntax is so atrocious that it takes training to understand it. I can accept the semantics to need training to understand (as I did with Perl, Erlang, or now doing with Ada), but with this we haven't hit that level yet.