1 2 3 4 5 6 7 8 9 10 11 12
{-# LANGUAGE GADTs #-} module ShouldFail where -- Wrong return type data X f = X (f ()) data B a where B1 :: X [] B2 :: B [Int]