 As philosophers and historians such as Kuhn (1996) have repeatedly pointed out, there is not always a clear separation between the two roles that we have identified, discovery and justification. Indeed, the two functions are blended in what we might call the programmatic (or paradigmatic) role of analogy: over a period of time, an analogy can shape the development of a program of research. For example: