Lifting
• This  called lifting.
• The process repeated until the
generic algorithm has reached a
suitable level of abstraction.
• At this point it should provide
maximal reusability while still
yielding efficient, concrete
implementations.