Lifting is the process by which the differences among multiple, concrete implementations of the same algorithm are abstracted away, producing a generic algorithm.
This definition is a part of the Generic Programming Glossary.