A provisional test indicates that this works (a little more to do before I break out the port to celebrate). However I am still puzzled as to what is going on here. Is the Readonly module forcing the variables into the global space? Surely that would be something terrible.