Compiler just does compilation (one set of passes). It does not do merging (transformations from one underlying type to another). This will make it easy to use with my real compilation model, which parallelizes first-phase compilation.