Was macht das Schlüsselwort "forall" in Haskell / GHC?

Ich fange an zu verstehen, wie das forallSchlüsselwort in sogenannten "existentiellen Typen" wie diesem verwendet wird: data ShowBox = forall s. Show s => SB s Dies ist jedoch nur eine Teilmenge der forallVerwendung, und ich kann mich einfach nicht auf die Verwendung in solchen Dingen...