tcfail072.hs:23:13: error: • Could not deduce (Ord p0) arising from a use of ‘g’ from the context: (Ord p, Ord q) bound by the type signature for: g :: forall p q. (Ord p, Ord q) => AB p q -> Bool at tcfail072.hs:22:1-38 The type variable ‘p0’ is ambiguous These potential instances exist: instance Ord Ordering -- Defined in ‘GHC.Classes’ instance Ord Integer -- Defined in ‘integer-gmp-1.0.1.0:GHC.Integer.Type’ instance Ord () -- Defined in ‘GHC.Classes’ ...plus 21 others ...plus three instances involving out-of-scope types (use -fprint-potential-instances to see them all) • In the expression: g A In an equation for ‘g’: g (B _ _) = g A