Get compiled syntax expanders working
So. Right now with !295 (merged), we have a proper Scheme macro expander available on the target. This means that we can have macros in the target evaluator. To do that we will need to have reflection over module bindings, to resolve the meanings of identifiers in a program, and if they are syntax transformers, to run them. So we need syntax transformers as values.
There are two ways to do this. One is to just eval all the modules: that way you build up a registry of bindings, module by module. The other way would be to try to use the compiled bindings, as current-module does. There we use syntax-module-bindings to enumerate all top-level bindings in scope for an identifier and create a module from them. Right now this won't work because we don't include syntax transformers in the result of syntax-module-bindings (which is a low-level thing built on syntax-locally-bound-identifiers), and indeed for compiling we expand in such a way that we don't residualize syntax transformer bindings.
It would be better to use compiled bindings if we can: things would be faster and have better debugging. So we need to compile them into the binary, and cause top-level syntax definitions to be put into modules, and then we can fix syntax-module-bindings.