This abstract syntax tree is really abstract.
It makes binding explicit, but everything else about the language is hidden inside Node;
Their meaning comes from Form.
Run the file (which hopefully evaluates to capture_language), and get the language it defines.
Returns the parse context, the type environment, the phaseless version of the type environment,
and the value environment.
This doesn’t take a language 4-tuple – it assumes that the language is in Unseemly
(but of course it may do include /[some_language.unseemly]/ itself).
TODO: we only need the phaselessness for macros, and maybe we can get rid of it there?
Evaluate program in lang_of_program, and stash the resulting language in result_name.
“unseemly” starts out in the stash, so it’s possible to start from somewhere.