moving NamedEnv into CoreAst trait (REPL doesn’t use NamedEnv - so there is no need for it to be top-level)