Ugh, just realised I was looking at hostilefork/ren-c tests, my bad. Not quite sure how I got there.
I understand the dicey nature of peering out ahead (see also, EVALUATION question), but there seems a potential to quoted variadics vs. non-quoted that is currently unrealised. Perhaps they should be two different concerns.
-
Quoted variadics wouldn't necessarily need to be last
-
Is fixed in scope based purely on type
-
Value could be handled as a block instead of a pseudotype
Could use flags that would throw an error if used in conjunction with a non-quoted arg:
any-nums: func [
'values [<any> integer! decimal!]
other-arg [non-number!]
][
true = block? values
]
any-nums 1 2 3 <thing>
any-nums <thing>
some-nums: func [
'values [<some> integer! decimal!]
other-arg [non-number!]
][
true = block? values
]
some-nums 1 2 3 <thing>