This library provides a lens-like interface for working with type parameters. In the code:
p1, p2, and p3 are the type parameters.
Two example uses of this library are for unboxing unboxed vectors and supercompilation-like optimizations. Please see the README file on github for a detailed description and tutorial. After reading through that, the haddock documentation will make more sense.