I've been forwarding these types of ideas actually directly to Stephen some years ago, where we discussed a couple of hours on these ideas. My example was similar in idea, imagine that you could do e.g.:
Table[… , {k->v, Association[…]}]
it would bind the key and value and iterate over the association, but this could be extended to any 'pattern' there as 'variable'. Similar for Function, Do, Sum, Product etc…