Though it is possible to write a somewhat complete formal grammar for a natural language, there are usually so many exceptions in real usage that a formal grammar is of minimal help in writing a grammar checker. One of the most important parts of a natural language grammar checker is a dictionary of all words in the language, along with the part of speech of each word. The fact that natural words can take many different parts of speech greatly increases the complexity of any grammar checker.