This is a less hacky way to solve Issue #1.

I stringified the code in the "load-able" files without namespaces and game them a namespace and a function to return the string.  Now this seems to work cleanly and with or without AOT compilation, passing all tests but the benchmarks, which it didn't pass before anyway.  The only catch, and this could be automated, is that the code in places like type_impl.clj needs to put in a do block and surrounded by double quotes, escaping any double quotes inside.  To edit the code normally, and not as a string, just delete the surrounding quotes and find/replace all escaped quotes \" and replace with ".