Moving the DocumentParser heavy lifting into the AST