tc168.hs:17:1: error: [GHC-39999] • Could not deduce ‘C a1 (a2, b0)’ from the context: C a1 (a2, b) bound by the inferred type for ‘g’: forall {a1} {a2} {b}. C a1 (a2, b) => a1 -> a2 at tc168.hs:17:1-16 The type variable ‘b0’ is ambiguous • In the ambiguity check for the inferred type for ‘g’ To defer the ambiguity check to use sites, enable AllowAmbiguousTypes When checking the inferred type g :: forall {a1} {a2} {b}. C a1 (a2, b) => a1 -> a2