The root of the dynamic environment is passed separately to Eval.exec'
to allow user config to re-declare dynamics (like regular vals). This
uncovered (and perpetuates) a bug with process DVal/DEnv:
val foo = "foo";
val bar = foo;
val foo = "bar";
When bar is expanded, it now has the value "bar" instead of
"foo", which is wrong.