Hi there, This is ghc-4.01 I have not seen an instance of such a message for non-overlapping patterns for non-string types. As part of a where clause I have (modulo renaming) two equations of the following form: f Pat1 p2 p3 p4 = rhs1 f Pat2 p2 p3 p4 = rhs2 where Pat1 and Pat2 are disjoint ``ground'' instances of a user defined algebraic data type as in data Pattern = Pat1 | Pat1 I get nevertheless (modulo renaming) Pattern match(es) are overlapped in the definition of function `f' Pat2 p2 p3 p4 = ... I tried to isolate this but strangely enough the message is not generated in a module of the following type: > module Overlap( overlap ) where > data Pattern = A | B > overlap A i j k = 0 > overlap B i j k = 0 Let me know if you need more info. Regards, Marc