Aname for an existing type expression, without constructing a distinct runtime datatype. In Haskell, type Seq a = a -> [Integer]namesafunction representation; an equality test constraint can belong to an operation on that representation without belonging to the synonym itself.