data/newtype 型コンストラクターには常に型変数が必要なようです。
タプルとリストのネストがいくつかあり、実装を非表示にして、クライアントが特定の関数セットのみを使用するように制限したいとします。「変数」タイプの要素とそうでない要素をどのように判断しますか?
編集: 混乱する前に:型変数は必要ありません! .
多くの例には型変数が含まれているため、この質問をしましたが、data/newtype は型変数なしで完全に機能します。
data Foo = Foo Int deriving Show
x = Foo 42