タプルはこのための自然なタイプであると考えているため、タプルで複数の値を収集することがよくあります。ただし、タプルは厳密ではありません。だから考えて
data A
data B =
B !A
data C =
C !(B, B)
data D =
D !B !B
および最適化により-funbox-strict-fields
、UNPACK はネストされます。のタプルは のC
ようにアンパックさC A A
れますかD
、それとも単にC B B
ですか? GHC-doc のリファレンスは次のとおりです: 7.16. プラグマ。
(空でないタプルは型ですか? 型コンストラクターですか?)