Building on the ideas of #10201 - there might be a way we can do parallel type-checking for implementation files that have backing signature files. This requires a bit more research to see if this is possible, but in theory it should be.
The compiler would do a pass at type-checking all files minus the implementation files that have a corresponding signature file. After that pass completes, then we type-check those implementation files and continue.