Refactor compilation to keep most side-effects in the main function.
Speed up tests by using an assembly file stored on disk.