1{-# LANGUAGE ScopedTypeVariables #-} 2 3test :: IO Char 4test 5 = do x :: Char <- getChar 6 return x 7value :: String = "Hello" 8 9forallTest :: forall x . Eq x => x -> x 10forallTest x = if x == x then (undefined :: x) else x 11