Not type-checking related, but I'm doing a short investigation into the following:
In Release mode, there are 3 main optimisation phases/rounds.
Round 1 only uses results of round 1 for previous files, round 2 only uses results of round 2 for previous files etc.
This means that we can easily increase parallelisation.