Reduce dependencies between compilation phases
Currently, there are various dependencies between compilation phases, e.g., between the case completion and the translation into the IL, i.e., one phase imports the other to use specific functionality from it. We should reduce these dependencies.
Edited by Finn Teegen