+++ /dev/null
-module ShouldSucc where
-
-data T a = D (B a) | C
-data B b = X | Y b
-
-instance (Eq a) => Eq (T a) where
- (D x) == (D y) = x == y
- C == C = True
- a == b = False
-
- a /= b = not (a == b)
-
-instance (Eq b) => Eq (B b) where
- X == X = True
- (Y a) == (Y b) = a == b
- a == b = False
-
- a /= b = not (a == b)