This removes the need for a lot of local variables in the Compiler class, at the cost of some extra indentation levels.