1. Introduction
The theory of relational parametricity, proposed by Reynolds [21], provides a powerful framework for establishing properties of polymorphic programs and their types. Such properties include the “theorems for free” of Wadler [26], universal properties for datatype encodings, and representation independence properties for abstract datatypes. These results are well established, see e.g. [18], for the pure Girard/Reynolds second-order -calculus (a. k. a. system F) which provides a concise yet remarkably powerful calculus of typed total functions.