==================== Reader ==================== module Read003 where {- rec -} ~(a, b, c) | nullity b = a | nullity c = a | otherwise = a where {- rec -} nullity = null read003.hs:4: Occurs check: cannot construct the infinite type: t = (t, [a], _116) Expected type: (t, [a], _116) Inferred type: t In the right-hand side of a pattern binding: a Compilation had errors