1. {-# LANGUAGE ExistentialQuantification #-}
  2.  
  3. data Foo = forall a . Show a => Foo a
  4.  
  5. showSomething :: Foo -> IO ()
  6. showSomething (Foo a) = putStrLn (show a)