T1897a.hs:9:1: error: Could not deduce (Wob a0 b) from the context: Wob a b bound by the inferred type for ‘foo’: Wob a b => b -> [b] at T1897a.hs:9:1-24 The type variable ‘a0’ is ambiguous In the ambiguity check for the inferred type for ‘foo’ To defer the ambiguity check to use sites, enable AllowAmbiguousTypes When checking the inferred type foo :: forall a b. Wob a b => b -> [b]