Okay cool.
To summarize, what would be possible then:
1. Positional binding for current query: [x] (unchanged)
2. Named binding for current query: [name: x] (unchanged)
3. Named reference for current query: as(:name) (unchanged)
4. Named reference for parent query: parent_as(:name) (unchanged)
5. Dynamic named reference for current query: as(^as) (new)
6. Dynamic named binding for current query: [{^as, x}] (unchanged)
7. Dynamic named reference for parent query: parent_as(^as) (new)
What would not be possible:
8. Dynamic named binding for parent query: [{:parent, ^as, x}] (unsupported)
I see a minor inconsistency by having 3. and not having 8., but I don't think it's a problem; I imagine dynamic named references (5. and 7.) to become preferred over a dynamic named binding (6.) once they're in, as it seems more natural to express it like this, at least to me.
So adding 8. is not needed (my proposed syntax seems slightly clumsy anyway), neither is removing 6. because this change would be backward-incompatible.
I'll try to come up with a PR and link it here 👍