typeKind (symCoercion type) :: TyConApp CoercionTyCon{...} [type, type]
\begin{code}
+{-# OPTIONS -w #-}
+-- 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 Coercion (
Coercion,
where
composeCoercionKindsOf (co1:co2:rest)
= ASSERT( null rest )
- WARN( not (r1 `coreEqType` a2), text "Strange! Type mismatch in trans coercion, probably a bug")
+ WARN( not (r1 `coreEqType` a2),
+ text "Strange! Type mismatch in trans coercion, probably a bug"
+ $$
+ ppr r1 <+> text "=/=" <+> ppr a2)
(a1, r2)
where
(a1, r1) = coercionKind co1