This is basically llvm but for documents. Makes a lot of sense