It looks like `ClangDocContext` is copied several times needlessly. However, it could be the case that in at least one of those cases, the copy is necessary so each thread has its own version.