This code uses and abuses printing ASTs to source code and parsing source code to ASTs as a form of lightweight metaquot.
There are a few places where some roundtrips could be avoided.
Furhermore, if we do use promotion as suggested by #520, we could consider updating this code to use more advanced techs although it might not be a good idea as it might lock us out of being able to build the project if the build fails.