A type formed by applying some type constructor function to one or more other types. The usual constructions are functions: t1 -> t2, products: (t1, t2), sums: t1 + t2 and lifting: lift(t1). (In LaTeX, the lifted type is written with a subscript \perp). See also algebraic data type, primitive type. (1995-02-03)