T1897b.hs:16:1: Could not deduce (Depend a0 ~ Depend a) from the context (Bug a) bound by the inferred type for ‛isValid’: Bug a => [Depend a] -> Bool at T1897b.hs:16:1-41 NB: ‛Depend’ is a type function, and may not be injective The type variable ‛a0’ is ambiguous Expected type: [Depend a] -> Bool Actual type: [Depend a0] -> Bool When checking that ‛isValid’ has the inferred type ‛forall a. Bug a => [Depend a] -> Bool’ Probable cause: the inferred type is ambiguous