-- 警告無し data TestA = TestA { aA :: {-# UNPACK #-} !Int, bA :: {-# UNPACK #-} !Int } {- 以下の警告が表示: Main.hs:6:16: warning: • Ignoring unusable UNPACK pragma on the second argument of ‘TestB’ • In the definition of data constructor ‘TestB’ In the data type declaration for ‘TestB’ | 6 | data TestB a = TestB | ^^^^^... Main.hs:6:16: warning: • Ignoring unusable UNPACK pragma on the first argument of ‘TestB’ • In the definition of data constructor ‘TestB’ In the data type declaration for ‘TestB’ | 6 | data TestB a = TestB -} data TestB a = TestB { aB :: {-# UNPACK #-} !a, bB :: {-# UNPACK #-} !a } main :: IO () main = putStrLn "hello world"