I see that global.eval('() => {}').constructor is supposed to be the fresh Function, not the "outer" one. Presumably this is accomplished by rewiring the function syntax inside of the fresh eval so that the [[Prototype]] of new functions is the fresh Function. So far so good. But what about global.eval('[]').constructor.constructor? Is that not still the outer Function?