The type of the dependency determines when a word that depends on another word that is recompiled itself has to be recompiled. For example if word a has a +definition+ dependency on word b, and b's definition is changed, then a must be recompiled. Another dependency type is +effect+ which means that word depends on the stack effect of another word. It is a weaker form of dependency than +definition+. A words definition can change without its stack effect changing, but it it's stack effect is changing it implies that its definition is also changed.
The third dependency type, +conditional+ encodes a conditional dependency between a word and other word which is usually a class. A condition object, kept in the word property "dependency-checks" evaluates if the condition is satisfied or not. If it isn't satisfied, then the word is recompiled. The types of condition objects are: