tcfail097.hs:5:6: Could not deduce (Eq a0) arising from the ambiguity check for ‘f’ from the context (Eq a) bound by the type signature for f :: Eq a => Int -> Int at tcfail097.hs:5:6-23 The type variable ‘a0’ is ambiguous In the ambiguity check for: forall a. Eq a => Int -> Int To defer the ambiguity check to use sites, enable AllowAmbiguousTypes In the type signature for ‘f’: f :: Eq a => Int -> Int