Making a multiple-variable let with input type %scriptVars

The first input is of type %scriptVars, which means it acts like a multiple-input upvar with the alphabet as the default values and returns a list but does not create the variables. (I just don't think regular multiple-input upvars look good.)
Using the doDeclareVariables method doesn't work, as it generates the script variables inside the block definition and not in the caller, similar to just putting down a script variables block.
Here's what I came up with:
It works fine in regular scripts, but not in custom block definitions. What would be the correct variable frame to write to so that it can support outside and inside custom block definitions?

I'm going to start warning y'all who keeping bragging about using the JS function to do obvious things and showing them off as "advanced" features. There aren't constructive contributions, it's just bragging.