forall:『(型の)特定は許さない』ルール

f :: (forall a. a -> a) -> Int
a -> a の特定は許さない
だからnotのようなTrueしか扱えないような特定したものをfへとるのは許さない

f :: forall a. ((a -> a) -> Int)
(a -> a) -> Int の特定は許さない

利根川「ここでnotを使う」

カイジ「ちょっと待て! notはTrueに特定しているじゃねぇか!」

利根川「くくく……確かに。a -> a に関してはTrueで特定している。
    だが今一度確認して欲しい……。a -> a は確定したかも知れないが、
    今回私は (a -> a) -> Int までは決して特定していないということを……」

カイジ「……な!? て、てめぇ! 汚ねぇぞ! 同じことじゃあねえか!」

利根川「浅い。……浅いなぁ、カイジ君。
    君はこのゲームのルールをまるでわかっちゃあいない」

カイジ「」ざわ……ざわ……