存在型 (Existential types もしくは短く existentials) は型の集合をひとつの型へと圧縮する方法である。 最初に注意してくことがある。 存在型は GHC の 型システム拡張 の一部である。これらは Haskell98 の一部ではなく、-XExistentialQuantification という追加のコマンドライン引数をつけるか、{-# LANGUAGE ExistentialQuantification #-} をソースコードの先頭に置くかして、コンパイルしなければならないだろう。 forall キーワード[編集] forall キーワードは明示的に型変数をスコープに持ってくるのに使われる。たとえば、これまで次のように書かれているのは何度も飽きるほど見てきただろう。 しかし、これらの a と b は何なのだろうか?まあ、これらは型変数だ、とあなたは答えるだろ