[ci skip]
Yeah I had to answer this one again. [ci skip]
This was written before local-exported variables did anything useful. Passing these vars as local-exports removes the need to define the validation function with `--no-scope-shadowing` which is quite the hack.