1 2 3 4 5 6 7 8 9 10 11 12
-- No ScopedTypeVariables, so (v::a) means (v:: forall a.a) module ShouldCompile where data T a = T a instance Eq (T a) where (==) x y = let v :: a v = undefined in v