TYPE SIGNATURES foo :: forall s b chain. Zork s (Z [Char]) b => Q s (Z [Char]) chain -> ST s () s :: forall t t1. Q t (Z [Char]) t1 -> Q t (Z [Char]) t1 TYPE CONSTRUCTORS data Q s a chain No C type associated RecFlag NonRecursive = Node :: forall s a chain. s -> a -> chain -> Q s a chain Stricts: _ _ _ FamilyInstance: none data Z a No C type associated RecFlag NonRecursive = Z :: forall a. a -> Z a Stricts: _ FamilyInstance: none class Zork s a b | a -> b RecFlag NonRecursive huh :: forall chain. Q s a chain -> ST s () COERCION AXIOMS axiom ShouldCompile.NTCo:Zork s a b :: Zork s a b ~# (forall chain. Q s a chain -> ST s ()) Dependent modules: [] Dependent packages: [base, ghc-prim, integer-gmp]