1 2 3 4 5 6 7 8 9
{-# LANGUAGE GADTs #-} module ShouldCompile where data T a where T :: b -> (b->Int) -> a -> T a f (T b f a) = a