+{-# OPTIONS -fno-warn-incomplete-patterns #-}
+-- The above warning supression flag is a temporary kludge.
+-- While working on this module you are encouraged to remove it and fix
+-- any warnings in the module. See
+-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#Warnings
+-- for details
+
+-- | Module for type coercions, as used in System FC. See 'CoreSyn.Expr' for
+-- more on System FC and how coercions fit into it.
+--
+-- Coercions are represented as types, and their kinds tell what types the
+-- coercion works on. The coercion kind constructor is a special TyCon that must always be saturated, like so:
+--
+-- > typeKind (symCoercion type) :: TyConApp CoercionTyCon{...} [type, type]