Moved most compilation fiddly biz into Compiler.