> An askReload made on a file that is dead for some reason has the risk of making it a zombie. Every occasion to do it is good. 

If a ``removeUnitOf`` call happens between the condition check and the call to ``scheduledUnits +=``, we will still be creating a zombie. I agree with you this is a real problem, but my sentiment is that this is an orthogonal concern and we should not try to fix it here. But it's probably good to hear what the rest of the team think about this.

> Finally, I may have overlooked something but I was under the impression compilationUnits containing a lot of units was far from our use case (and is likely to remain far in the future).

Possibly. I don't know, but this call ``SourceFileProviderRegistry.getProvider(f.workspacePath).createFrom(f.workspacePath)`` in ``compilationUnits`` can be failry expensive. That's why I'm suggesting to limite its usage, if we can.