  In this paper, we describe a hierarchy of program transformers in which the
transformer at each level of the hierarchy builds on top of those at lower
levels. The program transformer at level 1 of the hierarchy corresponds to
positive supercompilation, and that at level 2 corresponds to distillation. We
prove that the transformers at each level terminate. We then consider the
speedups that can be obtained at each level in the hierarchy, and try to
characterise the improvements that can be made.
