tcfail080.hs:27:1: Could not deduce (Collection c0 a) from the context: Collection c a bound by the inferred type for ‘q’: Collection c a => a -> Bool at tcfail080.hs:27:1-27 The type variable ‘c0’ is ambiguous When checking that ‘q’ has the inferred type q :: forall (c :: * -> *) a. Collection c a => a -> Bool Probable cause: the inferred type is ambiguous