Genetic Programming is extended so that the solutions being evolved do so in the context of local domains within the total problem domain. This produces a situation where different “species” of solution develop to exploit different “niches” of the problem –indicating exploitable solutions. It is argued context to be fully learnable a further step of abstraction is necessary. texts abstracted from clusters of solution/model domains make sense of the problem of how to identify when it is the content of a model is wrong and when it is the context. Some principles of learning to identify useful contexts