A natural conclusion as to the cause of run failure is the wrong level of diversity, specifically too little diversity. However, this idea is problematic for several reasons. Genetic programming is not typically implemented as an `open-ended' evolutionary system. The algorithm is said to `converge' when it is unable to find new solutions or improve solution quality. Without explicit pressure, genetic diversity and the ability to make variation and improvement will be lost during the evolutionary process. Knowing whether this will occur in the earlier or later stages is difficult. As fitness is a function of the syntax tree representation, a loss of different syntax trees also causes a loss of different fitness values. How does one know the right kind and level of diversity required to produce quality solutions?