The parser is the only part of the compiler that is "thread-safe", according to Martin. Since there is no state (that's usually attached to symbols/lazy types), it is safe to run outside of the PC thread.