The proofreading is slightly moronic, for the program cannot alert the user to an error like  an  for  and,  because  an  is a valid word in its memory; still, it is better than nothing.
It is a flawless proofreading program and never makes mistakes. 